ElasticSearch的所有插件一定要版本相同!避免步入报错的循环

安装ElasticSearch(简)

详细Elasticsearch安装流程请转至
https://www.yuque.com/jilige/gm7eto/iiyqo7

安装

docker run -d —name es9200 -e “discovery.type=single-node” -p 9200:9200 elasticsearch:7.12.1

测试

http://ip:9200/
记得开放端口9200
如果启动容器报错:
max virtual monery xxxx [65530] is to low
这个错误意思:当前默认可用内存太小了,需要设置的大一点
在服务器上执行下面的命令:
vim /etc/sysctl.conf
输入:
vm.max_map_count=655300
重新加载
sysctl -p
重新启动容器:
docker start es9200

安装Kinaba(可视化工具)

docker run -d —name kibana5601 -p 5601:5601 kibana:7.1.1

修改配置文件

docker exec -it kibana5601 bash
vi config/kibana.yml

docker restart kibana5601

测试

http://ip:5602/

安装分词器

下载分词器

https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.12.1
需要和es的版本对应,es:7.12.1 所以:ik:V7.12.1

上传并设置映射

上传到 /usr/local/
docker cp /usr/local/elasticsearch-analysis-ik-7.12.1.zip es9200:/usr/share/elasticsearch/plugins

解压IK分词

docker exec -it es9200 bash
mkdir /usr/share/elasticsearch/plugins/ik
mv /usr/share/elasticsearch/plugins/elasticsearch-analysis-ik-7.12.1.zip /usr/share/elasticsearch/plugins/ik
cd ik
unzip elasticsearch-analysis-ik-7.12.1.zip
rm -rf elasticsearch-analysis-ik-7.12.1.zip
exit
image.png
docker restart es9200

查看安装的插件

docker exec -it es9200 bash
./bin/elasticsearch-plugin list

安装拼音插件

进入容器内部

docker exec -it es9200 bash

下载拼音插件

./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-pinyin/releases/download/v7.12.1/elasticsearch-analysis-pinyin-7.12.1.zip

重启和查询插件

测试

测试es启动
htpp://ip:9200
image.png
打开可视化工具
http://ip:5601

image.png

在devtool进行测试
image.png

ik_max_word 和 ik_smart 什么区别?
ik_max_word: 会将文本做最细粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,中华人民,中华,华人,人民共和国,人民,人,民,共和国,共和,和,国国,国歌”,会穷尽各种可能的组合,适合 Term Query;
ik_smart: 会做最粗粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,国歌”,适合 Phrase 查询。