Docker版本Elasticsearch安装中文分词插件

关于ik插件

开源插件ik地址https://github.com/medcl/elasticsearch-analysis-ik
Elastic是自带了一个smartcn的插件的,但是该插件对词库支持不好(可以百度搜索两者的对比)

关于安装elasticsearch与可视化界面

Docker启动Elasticsearch+可视化页面https://blog.csdn.net/weixin_44494373/article/details/111595376

正文

elasticsearch在日常使用时,是肯定要用中文分词插件的,

(下面这条是本人在使用5.6.12版本时出现的问题)
后面因为要用spring-data-elasticsearch,换了7版本es,发现可以直接使用命令安装插件

但是Elasticsearch在5版本不能使用命令的方式安装非官方插件了,会出现空指针问题(可能是docker的原因)
命令行的方式在后面会讲解

手动安装elasticsearch插件ik

流程:

  1. 在plugins目录下,下载ik的插件压缩包
  2. 解压压缩包
  3. 修改名称
  4. 删除压缩包

首先在Docker启动了es的背景下,我们需要先进入容器,下面的命令是使用root用户登录,省的有什么权限问题

#看用户情况选择是否加sudo,一般要加,
sudo docker exec -it -u root es /bin/bash 

然后进入plugins目录

 cd plugins

在这里插入图片描述
使用wget下载插件,这里要注意插件与es的版本对应!!
这里的版本是插件的版本,ik插件的版本是对应es的,所以直接修改成es的就行,查询版本的方法在后面

#根据自己的es版本更换下面的版本数字
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.6.12/elasticsearch-analysis-ik-5.6.12.zip

解压插件压缩包,并且重命名,删除压缩包(必须,否则无法启动)

#具体的文件名可以使用ls看一下
unzip elasticsearch-analysis-ik-5.6.12.zip
#解压完是一个elasticsearch目录
mv elasticsearch ik
rm elasticsearch-analysis-ik-5.6.12.zip

再强调一遍,一定要删了那个zip,要不然容器无法启动
返回bin目录重启容器,外部重启命令也行

../bin/elasticsearch

执行完成后,容器会关闭! 因为docker内只有一个线程,刚刚杀了那个线程
docker启动es容器即可

sudo docker start 容器名

发个请求测试一下
http://localhost:9200/_analyze?analyzer=ik_smart&text=我们spring可是太牛了
Docker版本Elasticsearch安装中文分词插件_第1张图片

这里要注意,header中有约束:‘Content-Type: application/json’
在body放置数据也是可以的

如图,分词成功

使用命令安装插件

进入容器,或者es目录,进入bin目录

./elasticsearch-plugin  install  资源地址
#要注意版本对应!
./elasticsearch-plugin  install  
https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.6.9/elasticsearch-analysis-ik-5.6.9.zip

./elasticsearch-plugin  install 
/home/test/elasticsearch-analysis-ik-5.6.9.zip

重启es

./elasticsearch

如何查看版本

假如es已经启动在9200端口
我们直接访问端口(es的位置)即可
Docker版本Elasticsearch安装中文分词插件_第2张图片
在安装的可视化中,也可以查看
Docker版本Elasticsearch安装中文分词插件_第3张图片

你可能感兴趣的:(Elastic,elasticsearch,docker)