部署ElasticSearch
创建网络
:::tips 因为还需要部署Kibana容器,因此需要让ES和Kibana容器互联,先创建一个虚拟网络 :::
docker network create es-net
拉取镜像
dockerspull elasticsearch:7.12.1
创建并运行容器
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说明:-d #设置容器后台运行--name es #设置容器名为es-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" #设置容器的内存-e "discovery.type=single-node" #设置es单节点运行-v es-data:/usr/share/elasticsearch/data #挂载es数据到数据卷-v es-plugins:/usr/share/elasticsearch/plugins #挂载es插件目录到数据卷--privileged #授予逻辑卷访问权--network es-net #加入刚刚设置的网络中-p 9200:9200 #单点服务访问的端口映射-p 9300:9300 #集群服务访问的端口映射
访问服务
:::tips 访问以下地址即可看到ElasticSearch的响应结果
- http://IP地址:9200
:::
部署Kibana
:::tips Kibana可以连接ElasticSearch,并提供了可视化界面便于学习 :::拉取镜像
docker pull kibana:7.12.1
创建并运行容器
```bash docker run -d \ —name kibana \ -e ELASTICSEARCH_HOSTS=http://es:9200 \ —network es-net \ -p 5601:5601 \ kibana:7.12.1
说明: -d #设置容器后台运行 —name kibana #设置容器名 -e ELASTICSEARCH_HOSTS=http://es:9200 #设置Kibana需要连接的es地址,IP可以使用容器名代替:es —network es-net #加入刚刚设置的网络中 -p 5601:5601 #配置Kibana映射的容器端口
<a name="JnygV"></a>### 访问服务:::tips访问以下地址即可访问Kibana服务- http://IP地址:5601进入DevTools界面,即可通过命令操作ElasticSearch中的索引和文档:::<a name="Mtzeq"></a># 安装IK分词器<a name="yFWoW"></a>### 进入ElasticSearch容器```bashdocker exec -it es /bin/bash
在线下载并安装IK分词器
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.1/elasticsearch-analysis-ik-7.12.1.zip
退出容器
exit
重启容器
docker restart es
使用
:::tips IK分词器分为两种模式:
ik_smart:最少切分ik_max_word:最细切分 :::GET /_analyze{"analyzer": "ik_smart","text": "这是一段测试文字"}
GET /_analyze{"analyzer": "ik_max_word","text": "这是一段测试文字"}
IK添加扩展词词典
:::tips 想要添加自定义扩展词词汇,就需要先进入IK分词器的安装目录 :::
查看数据卷
docker volume inspect es-plugins
进入config目录
:::tips 进入刚刚查询的目录,然后进入IK分词器的config目录 :::
新建文件
vi ext.dic
:::tips 然后根据需求在文件中添加需要的扩展词词汇,换行进行分隔 :::
添加扩展词配置
:::tips 编辑IKAnalyzer.cfg.xml文件,然后添加扩展词文件名到
标签中 ::: <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"><properties><comment>IK Analyzer 扩展配置</comment><!--用户可以在这里配置自己的扩展字典 *** 添加扩展词典--><entry key="ext_dict">ext.dic</entry></properties>
重启es容器
:::tips 重启es容器后自定义扩展词即可生效 :::
docker restart es
IK添加停用词词典
:::tips 想要添加自定义停用词词汇,就需要先进入IK分词器的安装目录 :::
查看数据卷
docker volume inspect es-plugins
进入config目录
:::tips 进入刚刚查询的目录,然后进入IK分词器的config目录 :::
新建文件
vi stopword.dic
:::tips 然后根据需求在文件中添加需要的停用词词汇,换行进行分隔 :::
添加扩展词配置
:::tips 编辑IKAnalyzer.cfg.xml文件,然后添加停用词文件名到
标签中 ::: <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"><properties><comment>IK Analyzer 扩展配置</comment><!--用户可以在这里配置自己的扩展字典--><entry key="ext_dict">ext.dic</entry><!--用户可以在这里配置自己的扩展停止词字典 *** 添加停用词词典--><entry key="ext_stopwords">stopword.dic</entry></properties>
重启es容器
:::tips 重启es容器后自定义停用词即可生效 :::
docker restart es
