关于ES中文分词器analysis-ik快速安装

发布于:2025-09-04 ⋅ 阅读:(18) ⋅ 点赞:(0)

官方地址:https://github.com/infinilabs/analysis-ik

安装

快速安装

插件安装(将链接最后的版本号换成当前ES版本号):

bin/elasticsearch-plugin install https://get.infini.cloud/elasticsearch/analysis-ik/8.4.1

注:

  • 上述地址可正常访问,无需特殊网络配置
  • 如果是通过 Docker 部署的 ES,可参考下述命令
# 进入容器
docker exec -it 容器名称 bash
# 切换指定目录
cd /usr/share/elasticsearch
# 执行安装命令
bin/elasticsearch-plugin install https://get.infini.cloud/elasticsearch/analysis-ik/8.4.1
# 退出容器
exit
# 重启ES容器
docker restart 容器名称

手动安装

下载地址:https://release.infinilabs.com/
参考路径:
在这里插入图片描述
安装方式:

  1. 下载与当前ES版本相同的分词器安装包
  2. 进入ES安装目录,找到 plugins 文件夹,在里面新建一个名为 analysis-ik 的文件夹,把下载的安装包解压后放进该文件夹中
  3. 重启ES

命令参考:

# 进入plugins 文件夹
cd plugins
# 将下载好的文件上传到该目录或这直接下载到该目录
wget https://release.infinilabs.com/analysis-ik/stable/elasticsearch-analysis-ik-9.0.5.zip
# 创建文件夹 analysis-ik
mkdir analysis-ik
# 解压文件到 analysis-ik
unzip elasticsearch-analysis-ik-9.0.5.zip -d analysis-ik/
# 重启ES

应用

ik_max_word 与 ik_smart 的区别

  1. 关联关系
分词器 说明
ik_max_word 最细粒度切分,会将文本做尽可能多的拆分,适合 索引阶段(indexing)
ik_smart 智能粗粒度切分,会做合并优化,切分结果更少,适合 搜索阶段(searching)

  1. 示例对比

文本:"中华人民共和国"

分词器 结果
ik_max_word 中华, 华人, 人民, 共和, 共和国, 中华人民共和国, …(多个结果)
ik_smart 中华人民共和国(一个结果,智能合并)

  1. 实际使用场景(推荐配置)
PUT /news_index
{
  "settings": {
    "analysis": {
      "analyzer": {
        "my_index_analyzer": {
          "type": "custom",
          "tokenizer": "ik_max_word"
        },
        "my_search_analyzer": {
          "type": "custom",
          "tokenizer": "ik_smart"
        }
      }
    }
  },
  "mappings": {
    "properties": {
      "title": {
        "type": "text",
        "analyzer": "my_index_analyzer",
        "search_analyzer": "my_search_analyzer"
      }
    }
  }
}
  • 索引时用 ik_max_word:确保尽可能多的关键词被收录
  • 搜索时用 ik_smart:避免用户输入被过度拆分,提升召回准确率

验证是否生效

POST /_analyze
{
  "analyzer": "ik_max_word",
  "text": "人工智能"
}
POST /_analyze
{
  "analyzer": "ik_smart",
  "text": "人工智能"
}

如果都能返回中文分词结果,说明插件安装成功,两个分词器都可用。


网站公告

今日签到

点亮在社区的每一天
去签到