针对 Elasticsearch 9.1.3,需下载该仓库下版本为 9.1.3 的 IK 分词器 ,确保与 ES 版本完全一致。
分词器下载
一、核心匹配规则
infinilabs/analysis-ik
的版本命名严格遵循「与 Elasticsearch 版本一一对应」的原则:
- ES 版本 → IK 分词器版本:
9.1.3
→9.1.3
- 下载链接格式:
https://github.com/infinilabs/analysis-ik/releases/download/v{ES版本}/elasticsearch-analysis-ik-{ES版本}.zip
二、在 Elasticsearch容器中安装(两种方式)
例如:elasticsearch-analysis-ik分词器下载
方式 1:在线安装(推荐,无需本地下载)
-
进入 ES 容器
先通过
docker ps
查看 ES 容器的名称或 ID,再执行进入命令:bashdocker exec -it <你的ES容器ID/名称> /bin/bash
示例:若容器 ID 为
152ebbfee746
,则执行docker exec -it 152ebbfee746 /bin/bash
。 -
执行在线安装命令
直接使用 ES 自带的
elasticsearch-plugin
工具,从infinilabs
仓库拉取 9.1.3 版本的 IK 分词器:bash./bin/elasticsearch-plugin install https://release.infinilabs.com/analysis-ik/stable/elasticsearch-analysis-ik-<版本>.zip
- 安装过程中会提示「是否信任该插件」,输入
y
确认即可。
- 安装过程中会提示「是否信任该插件」,输入
-
重启 ES 容器
安装完成后,退出容器(执行
exit
),并重启容器使插件生效:bashdocker restart <你的ES容器ID/名称>
方式 2:离线安装(适用于容器无法联网的场景)
-
本地下载 IK 分词器包
浏览器访问
infinilabs
的 9.1.3 版本发布页,下载压缩包:
https://release.infinilabs.com/analysis-ik/stable/elasticsearch-analysis-ik-9.1.3.zip下载文件名为
elasticsearch-analysis-ik-9.1.3.zip
。 -
将压缩包传入 ES 容器
使用
docker cp
命令,将本地下载的压缩包复制到容器内的 ES 插件目录(默认插件目录为/usr/share/elasticsearch/plugins
):bash# 格式:docker cp 本地压缩包路径 容器ID/名称:容器内目标路径 docker cp /本地路径/elasticsearch-analysis-ik-9.1.3.zip <你的ES容器ID/名称>:/usr/share/elasticsearch/plugins/
示例(本地文件在
~/Downloads
目录):bashdocker cp ~/Downloads/elasticsearch-analysis-ik-9.1.3.zip 152ebbfee746:/usr/share/elasticsearch/plugins/
-
进入容器并解压
再次进入容器,进入插件目录并解压压缩包:
bash# 1. 进入容器 docker exec -it <你的ES容器ID/名称> /bin/bash # 2. 进入插件目录 cd /usr/share/elasticsearch/plugins/ # 3. 解压(若容器内无 unzip 工具,先执行 apt update && apt install -y unzip 安装) unzip elasticsearch-analysis-ik-9.1.3.zip # 4. 删除压缩包(可选,节省空间) rm -rf elasticsearch-analysis-ik-9.1.3.zip
-
重启 ES 容器
退出容器后重启,确保插件加载:
bashdocker restart <你的ES容器ID/名称>
三、验证安装是否成功
重启容器后,通过 Kibana Dev Tools 或 curl
测试 IK 分词器是否生效:
-
在 Kibana Dev Tools 执行:
jsonGET _analyze { "analyzer": "ik_smart", // IK 分词器的「智能分词」模式 "text": "在Elasticsearch 9.1.3中使用IK分词器" // 待分词的中文文本 }
-
若返回如下包含中文分词结果的响应,说明安装成功:
json{ "tokens" : [ { "token" : "在", "start_offset" : 0, "end_offset" : 1, "type" : "CN_CHAR", "position" : 0 }, { "token" : "elasticsearch", "start_offset" : 1, "end_offset" : 14, "type" : "ENGLISH", "position" : 1 }, { "token" : "9.1.3", "start_offset" : 15, "end_offset" : 19, "type" : "ARABIC", "position" : 2 }, { "token" : "中", "start_offset" : 19, "end_offset" : 20, "type" : "CN_CHAR", "position" : 3 }, { "token" : "使用", "start_offset" : 20, "end_offset" : 22, "type" : "CN_WORD", "position" : 4 }, { "token" : "ik", "start_offset" : 22, "end_offset" : 24, "type" : "ENGLISH", "position" : 5 }, { "token" : "分词器", "start_offset" : 24, "end_offset" : 27, "type" : "CN_WORD", "position" : 6 } ] }
四、注意事项
版本必须严格一致
:若 ES 是 9.1.3,IK 分词器必须是 9.1.3,版本不匹配会导致插件加载失败(容器日志会报version conflict
错误)。- 容器权限问题 :若安装时提示「权限不足」,可在进入容器后,先执行
chown -R elasticsearch:elasticsearch /usr/share/elasticsearch/plugins/
赋予 ES 用户插件目录的权限。 - 集群环境需全节点安装 :若 ES 是集群(多容器),需在所有节点容器中重复上述安装步骤,否则集群会因节点插件不一致导致异常。