本文共 1930 字,大约阅读时间需要 6 分钟。
为了实现Elasticsearch和后续可能使用的Kibana的互联,需要先创建一个网络。虽然有时可以使用Docker Compose进行一键互联,但鉴于Kibana可能会被替代(前文已提及),这里选择单独部署Elasticsearch。
docker network create es-net
这里使用Elasticsearch 7.12.1版本的镜像,全息镜像较大,接近1G,建议下载或寻找现有镜像资源(由于体积较大,无法直接上传)。
docker load -i es.tar
运行单节点Elasticsearch的命令如下:
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-net \-p 9200:9200 \-p 9300:9300 \elasticsearch:7.12.1
参数说明 |
---|
-e :设置环境变量 |
-v :挂载数据卷 |
--privileged :授予容器对数据卷的访问权限 |
--network :指定网络 |
-p :端口映射 |
如果需要配置集群,可以添加:
-e "cluster.name=es-docker-cluster"
运行以下命令查看容器状态:
docker ps
通过浏览器访问 http://<服务器IP>:9200
检查是否成功访问Elasticsearch控制台。如果成功,应该看到Elasticsearch的初始界面。
注意:确保防火墙开放9200端口。
与Elasticsearch镜像保持一致,建议查找符合版本的Kibana镜像。
docker load -i kibana.tar
运行Kibana的命令如下:
docker run -d \--name kibana \-e "ELASTICSEARCH_HOSTS=http://es:9200" \--network es-net \-p 5601:5601 \kibana:7.12.1
参数说明 |
---|
--network :与Elasticsearch共享网络 |
-e :设置Elasticsearch的地址 |
-p :端口映射 |
提示:Kibana启动较慢,可使用 docker logs -f kibana
查看实时日志。
运行完成后,通过 http://<服务器IP>:5601
打开Kibana控制台。
Kibana内置开发工具,可以输入JSON格式的DSL语句操作Elasticsearch。
Elasticsearch插件目录位于数据卷中,查看如下:
docker volume inspect es-plugins
下载IK分词器压缩包解压,命名为 ik
,并将其上传到Elasticsearch插件数据卷中。如果直接上传文件夹失败,可先生成压缩包,再上传解压。
docker restart es
测试 ik_smart
和 ik_max_word
模式下的分词效果。
IK分词器支持扩展词汇,建议在 IKAnalyzer.cfg.xml
配置文件中添加自定义词典。
ext.dic
文件,添加所需词汇。IKAnalyzer.cfg.xml
,添加如下内容:ext.dic
在 IKAnalyzer.cfg.xml
中添加停用词表:
stopword.dic
在 stopword.dic
文件中添加希望忽略的停用词,如 鸡你太美
、奥里给
等。
注意:文件编码必须设为UTF-8,禁止使用Windows记事本编辑。
docker restart es
转载地址:http://hheyk.baihongyu.com/