docker pull elasticsearch:7.8.0
mkdir -p /home/docker/elasticsearch/
mkdir -p /home/docker/elasticsearch/logs
# 赋权限
chmod -R 777 /home/docker/elasticsearch/
# 因为只是获取其配置文件,启动时设置了较小的JVM
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
-d elasticsearch:7.8.0
docker cp elasticsearch:/usr/share/elasticsearch/config/ /home/docker/elasticsearch/
docker cp elasticsearch:/usr/share/elasticsearch/data/ /home/docker/elasticsearch/
docker cp elasticsearch:/usr/share/elasticsearch/plugins/ /home/docker/elasticsearch/
编辑jvm.options:
根据实际情况修改JVM内存大小
cd /home/docker/elasticsearch//config/
vim jvm.options
默认配置如下:
-Xms1g
-Xmx1g
编辑elasticsearch.yml:
# 追加内容
http.cors.enabled: true
http.cors.allow-origin: "*"
node.name: node-1
discovery.seed_hosts: ["127.0.0.1"]
删除原有镜像:
docker stop elasticsearch
docker rm elasticsearch
挂载启动新镜像:
docker run --name elasticsearch --restart=always \
-p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" \
-v /home/docker/elasticsearch/config:/usr/share/elasticsearch/config \
-v /home/docker/elasticsearch/data:/usr/share/elasticsearch/data \
-v /home/docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-v /home/docker/elasticsearch/logs:/usr/share/elasticsearch/logs \
-d elasticsearch:7.8.0
我们在浏览器中访问:http://ip:9200/
下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases
下载的版本需要与es版本
一致;
1、上传文件:
将elasticsearch-analysis-ik-7.8.0.zip
上传到/home/docker/elasticsearch/plugins
目录
2、解压文件:
# 如果unzip命令不存在,则安装:yum install unzip
unzip elasticsearch-analysis-ik-7.8.0.zip -d ik-analyzer
# 解压完成后,删除`elasticsearch-analysis-ik-7.8.0.zip`压缩包
rm elasticsearch-analysis-ik-7.8.0.zip -rf
3、重启:
docker restart elasticsearch
4、验证:
docker exec -it elasticsearch /bin/bash
命令 进入容器内部cd /usr/share/elasticsearch/bin
目录elasticsearch-plugin list
命令(列出es安装的所有插件)ik-analyzer
就说明es的ik中文分词器安装成功了postMan
工具,发起请求,测试分词是否有效;首先使用标准分词器
,请求json如下:
// GET http://192.168.80.121:9200/_analyze
{
"analyzer": "standard",
"text": "测试分词器"
}
可以看到,查询出的内容,每个文字都是单独的,不会组成一个
词
;
首先使用IK分词器
,请求json如下:
// GET http://192.168.80.121:9200/_analyze
{
"analyzer": "ik_max_word",
"text": "测试分词器"
}
可以看到,查询出的内容,进行了中文形式的
分词
;