欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

IK 分词器

程序员文章站 2022-07-09 15:26:57
...

IK 分词器

下载和安装

进入elasticsearch目录中执行以下命令:

# 在线安装
[aaa@qq.com elasticsearch-7.3.0]$ ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.3.0/elasticsearch-analysis-ik-7.3.0.zip

下载完成后,可以在plugins目录中看到analysis-ik目录,里面的结构如下所示:

IK 分词器

之后需要重新启动elasticsearch,才可以加载ik分词器插件,同时记得在三个节点都安装ik分词器插件。重新启动elasticsearch可以看到日志信息中有以下输入内容:

IK 分词器

IK分词器分析过程

IK 分词器

测试IK分词器
# 测试 ik 分词器
GET _analyze?pretty
{
  "analyzer": "ik_smart",
  "text": "*国歌"
}

==========================================
# 结果
{
  "tokens" : [
    {
      "token" : "*",
      "start_offset" : 0,
      "end_offset" : 7,
      "type" : "CN_WORD",
      "position" : 0
    },
    {
      "token" : "国歌",
      "start_offset" : 7,
      "end_offset" : 9,
      "type" : "CN_WORD",
      "position" : 1
    }
  ]
}
IK分词器的两种分词方法
# 测试 ik 分词器,智能分词法
GET _analyze?pretty
{
  "analyzer": "ik_smart",
  "text": "*国歌"
}

# 测试 ik 分词器,最大分词法
GET _analyze?pretty
{
  "analyzer": "ik_max_word",
  "text": "*国歌"
}
分词的场景
# analyzer 指定的是构建索引的时候的分词
# search_analyzer 指定的是搜索关键字时候的分词	

# 如果在搜索是不指定 search_analyzer,那么默认使用的是 analyzer 使用的分词

# 最佳实践:索引的时候使用 ik_max_word,但是查询的时候使用 ik_smart
相关标签: ElasticSearch