前言
一、安装ES
1.1拉取ES镜像
1.2运行ES容器
docker run -d --name es -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" -e "discovery.type=single-node" -v es-data:/usr/share/elasticsearch/data -v es-plugins:/usr/share/elasticsearch/plugins --privileged --network es-network -p 9200:9200 -p 9300:9300 41dc8ea0f139
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m":es是java写的,这里设置初始和最大堆内存
-e "discovery.type=single-node" :es单节点启动
-v /usr/docker/es/es-data:/usr/share/elasticsearch/data -v /usr/docker/es/es-plugins:/usr/share/elasticsearch/plugins:数据卷映射
--network es-network:网络单节点启动可以不用
-p 9200:9200 -p 9300:9300 41dc8ea0f139 :9200/9200分别是es http请求端口和es集群通讯端口 41dc8ea0f139 这个是镜像id启动时记得改下自己的
宿主机ip加9200访问看到这样的json访问即为成功(ps:记得放开9200端口或者关闭防火墙)
二.Kiban安装
2.1拉取镜像(版本必须和ES一样)
#拉取镜像
docker pull kibana:7.12.1
#启动容器
docker run -d --name kibana -e ELASTICSEARCH_HOSTS=http://es:9200 --network=es-network -p 5601:5601 (ps:跟下自己的kibana镜像id)
三.ik分词器安装
3.1本地安装
ik分词器官网地址(https://github.com/medcl/elasticsearch-analysis-ik)版本也需对应ES版本
#查找数据映射卷位置
docker volume inspect es-plugins
#重启es容器(这里的es是自己的容器名需要注意一下)
docker restart es
#查看启动日志
docker logs -f es
日志出现下图所示即为成功
测试下,欧克没问题
3.2分词器扩展和停用
如上图所示,魂天帝,和叶凡并没有算作一个词进行分词,这就需要分词器扩展
修改配置文件,并在扩展字典中加入叶凡,停止词字典中加入天帝
重启es查看效果叶凡成功算作一个词条,天帝被忽略