下载拉取镜像
docker pull elasticsearch:7.9.2
docker pull kibana:7.9.2
目录挂载
mkdir -p /data/elasticsearch/data/
mkdir -p /data/elasticsearch/config/
# 设置权限
chmod -R 777 /data/elasticsearch/
编写配置
echo 'http.host: 0.0.0.0 http.cors.enabled: true http.cors.allow-origin: "*"'>>/data/elasticsearch/config/elasticsearch.yml
启动
启动elasticsearch容器
# 启动elasticsearch容器
docker run --name elasticsearch -p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
-v /data/elasticsearch/config/elasticsearch.yml:/usr/shellare/elasticsearch/config/elasticsearch.yml \
-v /data/elasticsearch/data:/usr/shellare/elasticsearch/data \
-v /data/elasticsearch/plugins:/usr/shellare/elasticsearch/plugins \
-d elasticsearch:7.9.2
启动kibana容器
查询es的内部ip
docker inspect --format '{{ .NetworkSettings.IPAddress }}' 容器id
# 启动kibana容器
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://es容器内部ip:9200 -p 5601:5601 -d kibana:7.9.2
进入kibana容器内部
docker exec -it kibana /bin/bash
vi config/kibana.yml
修改里面hosts
修改完成后需要重新启动
docker restart kibana
分词器
安装分词器
进入启动成功的elasticsearch容器
docker exec -it elasticsearch /bin/bash
执行命令下载,分词器的版本和elasticsearch版本需要一致
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.9.2/elasticsearch-analysis-ik-7.9.2.zip
下载完成后需要重启elasticsearch容器
docker restart elasticsearch
测试ik分词器
post请求地址 ip:9200/_analyze
参数
{
"tokenizer":"ik_smart",
"text":"测试分词器,这只是一个测试"
}
返回结果
{
"tokens": [
{
"token": "测试",
"start_offset": 0,
"end_offset": 2,
"type": "CN_WORD",
"position": 0
},
{
"token": "分词器",
"start_offset": 2,
"end_offset": 5,
"type": "CN_WORD",
"position": 1
},
{
"token": "这",
"start_offset": 6,
"end_offset": 7,
"type": "CN_CHAR",
"position": 2
},
{
"token": "只是",
"start_offset": 7,
"end_offset": 9,
"type": "CN_WORD",
"position": 3
},
{
"token": "一个",
"start_offset": 9,
"end_offset": 11,
"type": "CN_WORD",
"position": 4
},
{
"token": "测试",
"start_offset": 11,
"end_offset": 13,
"type": "CN_WORD",
"position": 5
}
]
}