使用Docker快速安装部署ES和Kibana并配置IK中文分词器以及自定义分词拓展词库

使用Docker快速安装部署ES和Kibana的前提:首先需要确保已经安装了Docker环境

如果没有安装Docker的话,可以参考上一篇的内容:Linux上安装Docker

有了Docker环境后,就可以使用Docker安装部署ES和Kibana了

一、安装部署ES和Kibana

1、下载ealastic search和kibana(es的可视化管理页面)

docker pull elasticsearch:7.6.2
docker pull kibana:7.6.2

2、配置

mkdir -p /mydata/elasticsearch/config 
mkdir -p /mydata/elasticsearch/data 
echo "http.host: 0.0.0.0" >/mydata/elasticsearch/config/elasticsearch.yml 
chmod -R 777 /mydata/elasticsearch/

3、启动ES

注意:下边这个启动es的命令,一定要设置占用的内存,不设置的话,es一启动就把虚拟机的整个内存耗尽了,会死机!!!

docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
-v/mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.6.2

设置开机启动ES

docker update elasticsearch --restart=always

4、启动Kibana

docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.56.10:9200 -p 5601:5601 -d kibana:7.6.2

设置开机启动Kibana

docker update kibana --restart=always

5、测试

浏览器输入:http://192.168.xx.xx:9200,看到以下页面说明ES部署成功

浏览器输入:http://192.168.xx.xx:5601,看到以下页面说明Kibana部署成功

二、配置IK中文分词器

安装好ES和Kibana后,进入Kibana操作页面,使用ES默认的分词器来试一下,中文的分词效果

可以看到ES自带的分词器,它是简单的把每个汉字进行了分词,这肯定不是我们想要的效果

所以,我们需要自己来配置一下对中文分词支持比较好的IK分词器

IK分词器插件下载:https://pan.baidu.com/s/1Ie2fPooSd8QK8DLNQR-XbA   提取码:vszn

cd /mydata/elasticsearch/plugins 进入plugins目录
然后在es的 plugins目录下
mkdir ik 新建一个名字叫 ik 的文件夹
将下载的ik分词器插件压缩包上传到ik文件夹下,然后解压zip 就ok了

最后给一下ik文件夹的权限 chmod -R 777 /mydata/elasticsearch/plugins/ik

安装好后,检查下是否安装成功了
使用docker exec -it elasticsearch /bin/bash  命令 进入容器内部
进入容器的 cd /usr/share/elasticsearch/bin 目录
执行 elasticsearch-plugin list 命令(列出es安装的所有插件)
如果列出了 ik 就说明es的ik中文分词器安装成功了 

装好ik分词器后,记得重启ES容器
docker restart elasticsearch

配置好IK分词器后,再来用IK分词器看下效果

可以看到IK分词器对我们的中文进行了比较理想的分词

三、配置自定义分词拓展词库

IK分词器对中文有比较好的分词效果,但是它并不能对当前比较热门的网络流行词或者一些新的词进行分词处理

上图可以看到,IK分词器并不支持某一些词汇的分词处理

所以,我们需要配置一下自定义的分词拓展词库,来支持热门的网络流行词或新词。

1、配置自定义词库需要nginx的支持,首先需要安装好nginx

如果没有安装nginx的话,可以参考这个:使用Docker快速安装部署nginx

2、安装后nginx后,下边开始配置自定义的分词拓展词库

[root@192 ~]# cd /mydata/nginx/html/
[root@192 html]# 
[root@192 html]# mkdir es
[root@192 html]# cd es
[root@192 html]# vi fenci.txt

在/mydata/nginx/html/ 目录下新建一个es文件夹,然后新建一个fenci.txt的文件,在里边写需要支持分词的词汇,然后保存

3、配置IK的拓展词库

cd /mydata/elasticsearch/plugins/ik/config
vim IKAnalyzer.cfg.xml

#把里边注释掉的这一句打开并配置成你分词文本所在的nginx访问地址
<!--用户可以在这里配置远程扩展字典 -->
<entry key="remote_ext_dict">http://192.168.xx.xx/es/fenci.txt</entry>

4、重启ES容器

docker restart elasticsearch

重启后,再来看下效果

可以看到已经可以按照自定义的分词拓展词库来进行分词了

ES的一些基本配置就讲到这,如果觉得对你有帮助的话,可以点赞,或者点下关注,也欢迎在下方留言讨论

猜你喜欢

转载自blog.csdn.net/ju_362204801/article/details/109346187
今日推荐