docker安装elasticsearch

1. 创建映射目录

mkdir -p /Users/year12/dockerMsg/elasticsearch/config 
mkdir -p /Users/year12/dockerMsg/elasticsearch/data
mkdir -p /Users/year12/dockerMsg/elasticsearch/plugins

vim elasticsearch.yml 输入: http.host: 0.0.0.0
sudo chmod -R 770 /Users/year12/dockerMsg/elasticsearch

 

2. 创建网络

docker network create es-net

 

3. 部署运行单点es 

docker run -d \
    --name es \
    -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
    -e "discovery.type=single-node" \
    -v /Users/year12/dockerMsg/elasticsearch/data:/usr/share/elasticsearch/data \
    -v /Users/year12/dockerMsg/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
    -v /Users/year12/dockerMsg/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
    --privileged \
    --network es-net \
    -p 9200:9200 \
    -p 9300:9300 \
elasticsearch:7.16.2


命令解释

- `-e "cluster.name=es-docker-cluster"`:设置集群名称
- `-e "http.host=0.0.0.0"`:监听的地址,可以外网访问
- `-e "ES_JAVA_OPTS=-Xms512m -Xmx512m"`:内存大小
- `-e "discovery.type=single-node"`:非集群模式
- `-v es-data:/usr/share/elasticsearch/data`:挂载逻辑卷,绑定es的数据目录
- `-v es-logs:/usr/share/elasticsearch/logs`:挂载逻辑卷,绑定es的日志目录
- `-v es-plugins:/usr/share/elasticsearch/plugins`:挂载逻辑卷,绑定es的插件目录
- `--privileged`:授予逻辑卷访问权
- `--network es-net` :加入一个名为es-net的网络中
- `-p 9200:9200`:端口映射配置

 

 

 

 

4. 部署kibana

docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--network=es-net \
-p 5601:5601  \
kibana:7.12.1

命令解释

- `--network es-net` :加入一个名为es-net的网络中,与elasticsearch在同一个网络中
- `-e ELASTICSEARCH_HOSTS=http://es:9200"`:设置elasticsearch的地址,因为kibana已经与elasticsearch在一个网络,因此可以用容器名直接访问elasticsearch
- `-p 5601:5601`:端口映射配置

 

 

 

5. 安装IK分词器

分词器的作用是什么?

- 创建倒排索引时对文档分词
- 用户搜索时,对输入的内容分词

IK分词器有几种模式?

- ik_smart:智能切分,粗粒度
- ik_max_word:最细切分,细粒度

IK分词器如何拓展词条?如何停用词条?

- 利用config目录的IkAnalyzer.cfg.xml文件添加拓展词典和停用词典
- 在词典中添加拓展词条或者停用词条

cd /Users/year12/dockerMsg/elasticsearch/plugins

mkdir ik

cd ik

wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.16.2/elasticsearch-analysis-ik-7.16.2.zip

unzip
elasticsearch-analysis-ik-7.16.2.zip

# 重启es
docker restart es

6. 测试IK分词器

IK分词器包含两种模式:

* `ik_smart`:最少切分

* `ik_max_word`:最细切分

 

GET /_analyze
{
"analyzer": "ik_max_word",
"text": "北京新增63例本土感染者 社会面7例"
}

7. 扩展词词典&扩展停止词词典

vim /Users/year12/dockerMsg/elasticsearch/plugins/ik/config/IKAnalyzer.cfg.xml
修改完重启es

ext.dic 需要自己新建
extra_stopword.dic config目录本身存在

 

posted @ 2022-05-21 17:46  year12  阅读(138)  评论(0编辑  收藏  举报