| 下面是本人在本地测试环境像乞丐
docker name | version |
---|---|
elasticsearch 容器 | 7.1.0 |
kibana 容器 | 7.1.0 |
elasticsearch-analysis-ik-7.1.0.zip 安装包 | 7.1.0 |
环境变量 | 值 |
---|---|
本地ip | 192.168.1.109 |
> git pull https://github.com/medcl/elasticsearch-analysis-ik.git
> cd elasticsearch-analysis-ik
> mvn clean compile package
如果觉得麻烦,可以参考我目前打包好的zip 下载地址,解压到指定位置可见 构建dockerfile
elasticsearch.yml
cluster.name: "docker-cluster"
http.cors.enabled: true
http.cors.allow-origin: "*"
network.host: 0.0.0.0
From elasticsearch:7.1.0
ENV WORK_PATH /usr/share/elasticsearch
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
ADD ./elasticsearch.yml $WORK_PATH/config
RUN mkdir -p $WORK_PATH/plugins/ik
ADD ./target/releases/elasticsearch-analysis-ik-7.1.0.zip $WORK_PATH/plugins/ik
RUN cd $WORK_PATH/plugins/ik && unzipelasticsearch-analysis-ik-7.1.0.zip && rm -rf elasticsearch-analysis-ik-7.1.0.zip
以上表示创建一个容器,保证时间与中国上海时间同步,并把elasticsearch-ik包以及
相关到elasticsearch配置文件覆盖内部文件
> docker build -t elasticsearchik:7.1.0 .(点表示当前目录)
# D:/esdata/esdata 为本地到数据卷,用来挂载es数据到地方
> docker run -d --name est2 -p 9200:9200 -p 9300:9300 -v D:/esdata/esdata:/usr/share/elasticsearch/data --network kml -e"discovery.type=single-node" elasticsearchik:7.1.0
# 内置到kibana7.1.0默认会访问 elasticsearch:9200 因此在新建容器的
# 时候,需要给容器添加hosts域名映射,以保持kibana与elasticsearch的通信
> dockerrun -d --name kibana --network kml --add-host elasticsearch:192.168.1.109 -e ELASTICSEARCH_URL=http://192.168.1.109:9200 -p 5601:5601 kibana:7.1.0
删除命令
# 其他删除命令
> docker rm est2
> docker rmi elasticsearchik:7.1.0
自v5.0.0起 分析器名为移除移除ik的分析器和标记生成器,请使用分别ik_smart和ik_max_word
对比两个类型,ik_smart所切的词的粒度比较粗,而ik_max_word 粒度非常细
两种方式
接下来可以根据es官方提供到资料自行做好开发工作,同时推荐一款比较良心的插件bboss,其主要是针对elastisearch搜索引擎提供一种orm的操作,不用自己写插件了,它为你做了更多的底层优化以及连接池的建立,比较不错,推荐大家使用…
docker容器添加自定义hosts
ik github官网