目标:安装Elasticsearch和Kibana并加入中文分词
安装
Elasticsearch
elasticsearch.yml
8.0本地访问需要关闭SSL,我这里全都设置成了False,如有需要自己设置为True
使用方法:
把该文件放在挂载的目录config/elasticsearch.yml
或者直接复制进Docker容器内/usr/share/elasticsearch/config/elasticsearch.yml
cluster.name: "docker-cluster"
network.host: 0.0.0.0
#----------------------- BEGIN SECURITY AUTO CONFIGURATION -----------------------
#
# The following settings, TLS certificates, and keys have been automatically
# generated to configure Elasticsearch security features on 28-02-2024 16:42:10
#
# --------------------------------------------------------------------------------
# Enable security features
xpack.security.enabled: false
xpack.security.enrollment.enabled: false
# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
xpack.security.http.ssl:
enabled: false
keystore.path: certs/http.p12
# Enable encryption and mutual authentication between cluster nodes
xpack.security.transport.ssl:
enabled: false
verification_mode: certificate
keystore.path: certs/transport.p12
truststore.path: certs/transport.p12
#----------------------- END SECURITY AUTO CONFIGURATION -------------------------
Docker安装
挂载目录需要先把为目录设置权限,本地开发一般使用777就可以
一般"绑定挂载"第一次挂载都需要先要准备好/elasticsearch目录下的文件(建议使用挂载)
可以先运行一次没有挂载任何卷的es
# 设置权限
chmod -R 777 /elasticsearch
# 运行一次没有挂载卷的es
docker run -d --name elasticsearch elasticsearch:8.12.2
# 从这个运行中的容器复制文件到宿主机 容器名称:容器路径 宿主机路径
docker cp elasticsearch:/usr/share/elasticsearch/config /elasticsearch/config
docker cp elasticsearch:/usr/share/elasticsearch/data /elasticsearch/data
docker cp elasticsearch:/usr/share/elasticsearch/plugins /elasticsearch/plugins
# 停止并关闭
docker stop elasticsearch
docker rm elasticsearch
# -p 宿主机端口:容器端口
# -e ES_JAVA_OPTS="-Xms128m -Xmx256m" 设置ES服务的占用内存大小(开发时用作限制)
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms128m -Xmx256m" \
-d elasticsearch:8.12.2
# 挂载目录方式 -v 宿主机路径:容器路径
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms128m -Xmx256m" \
-v /elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /elasticsearch/data:/usr/share/elasticsearch/data \
-v /elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:8.12.2
kibana
Docker安装
安装成功后访问http://127.0.0.1:5601即可
# ip是你本地的ip kibana版本需要和es一样
docker run -d --name kibana -e ELASTICSEARCH_HOSTS="http://192.168.50.75:9200" -p 5601:5601 kibana:8.12.2
IK中文分词
安装
下载:ik-Github
解压重命名为ik,放入到容器内路径/usr/share/elasticsearch/plugins
如果使用了挂载卷,放入/elasticsearch/plugins
更改权限
# 更改容器内文件夹权限.
docker exec -u root -it elasticsearch /bin/bash
cd /usr/share/elasticsearch/plugins
chmod 777 -R ik
# 如果使用挂载只需要把宿主机的ik文件夹权限修改
chmod -R 777 /elasticsearch
重启即可使用
中文分词词库扩展
# 进入ik配置目录
cd /usr/share/elasticsearch/plugins/ik/config
# 这个是配置扩展的文件
IKAnalyzer.cfg.xml
# 创建我的词库配置文件夹
mkdir custom
cd custom
# 创建停用词配置
vim extra_stopwords.dic
# 写入想要禁用的词
的
是
# 创建我的词库
vim extra_dict.dic
# 写入需要增加的词
中国科技大学
中华牙膏
更改IKAnalyzer.cfg.xml
加入相对路径 custom/extra_dict.dic和custom/extra_stopwords.dic
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>IK Analyzer 扩展配置</comment>
<!--用户可以在这里配置自己的扩展字典 -->
<entry key="ext_dict">custom/extra_dict.dic</entry>
<!--用户可以在这里配置自己的扩展停止词字典-->
<entry key="ext_stopwords">custom/extra_stopwords.dic</entry>
<!--用户可以在这里配置远程扩展字典 -->
<!-- <entry key="remote_ext_dict">words_location</entry> -->
<!--用户可以在这里配置远程扩展停止词字典-->
<!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>
Comments NOTHING