IK 分词器

IK 分词器

下载和安装

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

# 在线安装
[yangqi@yankee 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 分词器_第1张图片

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

IK 分词器_第2张图片

IK分词器分析过程

IK 分词器_第3张图片

测试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,elasticsearch)