博客
关于我
ElasticSearch - 基于 docker 部署 es、kibana,配置中文分词器、扩展词词典、停用词词典
阅读量:789 次
发布时间:2023-01-24

本文共 1930 字,大约阅读时间需要 6 分钟。

Elasticsearch 和 Kibana 部署指南

一、Elasticsearch 部署

1.1 创建网络

为了实现Elasticsearch和后续可能使用的Kibana的互联,需要先创建一个网络。虽然有时可以使用Docker Compose进行一键互联,但鉴于Kibana可能会被替代(前文已提及),这里选择单独部署Elasticsearch。

docker network create es-net

1.2 加载镜像

这里使用Elasticsearch 7.12.1版本的镜像,全息镜像较大,接近1G,建议下载或寻找现有镜像资源(由于体积较大,无法直接上传)。

docker load -i es.tar

1.3 运行

运行单节点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"

1.4 检查部署是否成功

运行以下命令查看容器状态:

docker ps

通过浏览器访问 http://<服务器IP>:9200 检查是否成功访问Elasticsearch控制台。如果成功,应该看到Elasticsearch的初始界面。

注意:确保防火墙开放9200端口。

二、Kibana 部署

2.1 加载镜像

与Elasticsearch镜像保持一致,建议查找符合版本的Kibana镜像。

docker load -i kibana.tar

2.2 运行

运行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控制台。

转化为 dev tools DSL

Kibana内置开发工具,可以输入JSON格式的DSL语句操作Elasticsearch。

特点说明

  • ik_smart 分词模式:尽可能少分词,适合精确匹配。
  • ik_max_word 分词模式:分词尽可能细致。

三、IK 分词器部署

3.1 查看数据卷目录

Elasticsearch插件目录位于数据卷中,查看如下:

docker volume inspect es-plugins

3.2 上传分词器

下载IK分词器压缩包解压,命名为 ik,并将其上传到Elasticsearch插件数据卷中。如果直接上传文件夹失败,可先生成压缩包,再上传解压。

3.3 重新启动容器

docker restart es

3.4 测试分词功能

测试 ik_smartik_max_word 模式下的分词效果。

3.5 扩展词典

IK分词器支持扩展词汇,建议在 IKAnalyzer.cfg.xml 配置文件中添加自定义词典。

  • 新建 ext.dic 文件,添加所需词汇。
  • 编辑 IKAnalyzer.cfg.xml,添加如下内容:
ext.dic

3.5 停用词词典

IKAnalyzer.cfg.xml 中添加停用词表:

stopword.dic

stopword.dic 文件中添加希望忽略的停用词,如 鸡你太美奥里给 等。

注意:文件编码必须设为UTF-8,禁止使用Windows记事本编辑。

重启Elasticsearch

docker restart es

转载地址:http://hheyk.baihongyu.com/

你可能感兴趣的文章
Java多线程
查看>>
openssl服务器证书操作
查看>>
我用wxPython搭建GUI量化系统之最小架构的运行
查看>>
selenium+python之切换窗口
查看>>
重载和重写的区别:
查看>>
搭建Vue项目步骤
查看>>
账号转账演示事务
查看>>
在Vue中使用样式——使用内联样式
查看>>
Find Familiar Service Features in Lightning Experience
查看>>
map[]和map.at()取值之间的区别
查看>>
【SQLI-Lab】靶场搭建
查看>>
Struts2-从值栈获取list集合数据(三种方式)
查看>>
VTK:可视化之RandomProbe
查看>>
block多队列分析 - 2. block多队列的初始化
查看>>
Java时间
查看>>
不编译只打包system或者vendor image命令
查看>>
【编程】C语言入门:1到 100 的所有整数中出现多少个数字9
查看>>
pair的用法
查看>>
Flex 布局的自适应子项内容过长导致其被撑大问题
查看>>
Thymeleaf sec:authorize 标签不生效
查看>>