关于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
流程:
- 在plugins目录下,下载ik的插件压缩包
- 解压压缩包
- 修改名称
- 删除压缩包
首先在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可是太牛了
这里要注意,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的位置)即可
在安装的可视化中,也可以查看