1、先下载8.17.3版本的Ik分词器(一定要和ES版本一致)
这里我是选择了在本地下载,而不是直接在虚拟机上面下载安装,主包的服务器不能连的上Github而且懒得搞代理啥的,于是就在本地下载,以下是下载的网址
2、上传到服务器
使用SFTP上传到指定的文件夹,然后进入到这个目录位置
2.1、docker版本
2.1.1、先进入容器内部
使用以下命令进入容器(使用你提供的容器 ID):
docker exec -it es容器的id /bin/bash
2.1.2、拷贝 IK 分词器到ES容器内部
比如我的命令是这样的
docker cp <宿主机文件路径> <容器ID>:<容器内目标路径>
docker cp elasticsearch-analysis-ik-8.17.3.zip 973768a3d516:/tmp/
-
elasticsearch-analysis-ik-8.17.3.zip
宿主机上的文件(即你当前所在目录下的 ZIP 文件)。 -
973768a3d516
Docker 容器的 ID(唯一标识符),代表你要操作的目标容器。 可通过docker ps
查看正在运行的容器列表,获取对应的 ID。 -
:/tmp/
容器内的目标路径,表示将文件复制到容器的/tmp
目录下。/tmp
是 Linux 系统的临时目录,通常用于存放临时文件,避免权限问题。
2.1.3、安装 IK 分词器
在容器内部,使用 Elasticsearch 插件安装命令安装 IK 分词器
# 安装 IK 分词器(假设 Elasticsearch 安装在 /opt/bitnami/elasticsearch)
/opt/bitnami/elasticsearch/bin/elasticsearch-plugin install file:///tmp/elasticsearch-analysis-ik-8.17.3.zip
前面的路径要先通过这个命令确认位置,假如我们的不相同你需要改成你自己的位置
find / -name elasticsearch-plugin 2>/dev/null
常见的安装路径可能是:
/usr/share/elasticsearch/bin/elasticsearch-plugin
(官方 Docker 镜像默认路径)/opt/elasticsearch/bin/elasticsearch-plugin
安装过程中会问你是否继续,需要输入y,继续安装 ,这里主包就不截图了
2.1.4、验证安装
安装完成后检查插件列表(或者进入到你ES的bin目录之后直接输入后面的elasticsearch-plugin list):
/elasticsearch/bin/elasticsearch-plugin list
应该输出:
analysis-ik
2.1.5、重启 Elasticsearch
exit # 退出容器
docker restart <es容器ID>
2.2、直接安Linux服务器
和docker的区别就是更简单了,上传文件到你的任意一个文件夹,然后必须确认是否有对应的权限,如果没有权限记得赋予权限,后面就是使用es文件夹中的bin文件夹使用脚本安装Ik分词器了,后面都是一样的,主包实在是不想写后面了,因为都是重复的。
可能遇到的问题
1、权限问题:
如果提示权限不足,尝试:
chown -R elasticsearch:elasticsearch <这里是你es的安装位置替换一下,别把<>放里面就写路径就行了>/elasticsearch/plugins/
2、版本不匹配:
确保 IK 分词器版本(8.17.3)与 Elasticsearch 完全一致。
3、如果 Elasticsearch 是集群模式:
需要在所有节点上安装 IK 插件,并滚动重启。
完成这些步骤后,IK 分词器应该可以正常使用了!