Docker环境下安装 Elasticsearch + IK 分词器 + Pinyin插件 + Kibana(适配7.10.1)
做RAG自己打算使用es+milvus自己开发一个,安装时好像网上没有比较新的安装方法,然后找了个旧的方法对应试试:
🚀
本文将手把手教你在 Docker 环境中部署 Elasticsearch 7.10.1 + IK分词器 + 拼音插件 + Kibana,适配中文搜索场景。适合中文搜索、智能推荐、Elastic Stack 学习与实验。
🧱一、拉取基础镜像
docker pull elasticsearch:7.10.1
docker pull kibana:7.10.1
Elasticsearch 与 Kibana 版本号必须一致。此处统一使用 7.10.1
,因为该版本是开源许可下的最后一个稳定版本。
🌐二、创建网络桥接(方便容器互联)
docker network create elastic
此处使用自定义网络 elastic
,确保 Elasticsearch 与 Kibana 容器能通过容器名互相访问。
📦三、启动 Elasticsearch 容器
docker run --restart=always \-p 9200:9200 -p 9300:9300 \-e "discovery.type=single-node" \-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \--name='elasticsearch' \--net elastic \--cpuset-cpus="1" \-m 1G \-d elasticsearch:7.10.1
参数说明:
-
-e "discovery.type=single-node"
:单节点模式 -
--cpuset-cpus="1"
:绑定 CPU1(优化资源) -
-m 1G
:最大内存限制 -
--restart=always
:自动重启
📺四、启动 Kibana 容器
docker run --name kibana \--net elastic \--link elasticsearch:elasticsearch \-p 5601:5601 \-d kibana:7.10.1
Kibana 会自动通过环境变量识别 Elasticsearch 的容器,默认连接到 http://elasticsearch:9200
。
📦五、安装 IK 分词器与拼音插件
1️⃣ 准备插件包
从以下地址下载对应版本插件压缩包(必须与 Elasticsearch 版本一致):
-
🔗 IK 分词器:Index of: analysis-ik/stable/
-
🔗 拼音插件:Index of: analysis-pinyin/stable/
将这两个 .zip
插件文件放入宿主机某目录(例如 /opt/es-plugins
),然后复制到容器内部:
docker cp elasticsearch-analysis-ik-7.10.1.zip elasticsearch:/usr/share/elasticsearch/
docker cp elasticsearch-analysis-pinyin-7.10.1.zip elasticsearch:/usr/share/elasticsearch/
2️⃣ 进入容器安装插件
docker exec -it elasticsearch /bin/bash
cd /usr/share/elasticsearch# 安装 IK 分词器
./bin/elasticsearch-plugin install file://$(pwd)/elasticsearch-analysis-ik-7.10.1.zip# 安装拼音插件
./bin/elasticsearch-plugin install file://$(pwd)/elasticsearch-analysis-pinyin-7.10.1.zipexit
⚠️注意:插件安装命令必须以
file://
开头,不能直接给文件名,否则会报Unknown plugin
错误。
🔁六、重启服务使插件生效
docker restart elasticsearch
docker restart kibana
✅七、验证插件是否安装成功
访问 Elasticsearch 插件列表:
GET /_cat/plugins?v
也可以在浏览器中访问:
http://<你的宿主机IP>:9200/_cat/plugins?v
应看到如下类似输出:
elasticsearch analysis-ik 7.10.1
elasticsearch analysis-pinyin 7.10.1
🎨八、访问 Kibana UI
浏览器打开:
http://192.168.x.x:5601/app/home#/
你可以进入 Kibana 主页进行索引、映射和搜索测试。
💡附加建议
-
若需进行中文搜索测试,可创建索引时设置
ik_max_word
或pinyin
分词器。 -
插件更新或更换版本时需重新安装,建议备份插件包。
📌总结
本文通过 Docker 快速部署了一个带中文支持能力的 Elastic Stack 环境,适用于中文搜索、拼音输入容错、智能推荐等业务场景。整体流程如下图所示:
[ Docker ] → [ Elasticsearch 7.10.1 ] ← plugins ← IK/Pinyin↑[ Kibana 7.10.1 ]
如需扩展支持拼音首字母、拼音全拼、中文混输搜索,推荐深入使用自定义 analyzer
和 tokenizer
组合配置。