一docker-compose部署elasticsearch+hanlp(7.16.2版本)----附完整镜像
Posted 牧羊人Ovo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一docker-compose部署elasticsearch+hanlp(7.16.2版本)----附完整镜像相关的知识,希望对你有一定的参考价值。
摘要: 如图docker-compose部署elasticsearch+hanlp(7.16.2版本)、目前只提供镜像压缩包,暂无制作过程
前提: 默认大家已安装docker以及docker-compose
链接: https://pan.baidu.com/s/1UfWlvdvLrmvyNlJj1nMAUA?pwd=5imu
提取码:5imu
目录
一、镜像处理
1、将镜像放到某个路径下(例如 /home)
如图所示
2、执行命令
例如 我是放在home目录下
cd /home
docker load -i *.tar ---- 解压镜像压缩包
docker images ----查看镜像
二、docker-compose.yml
1、执行命令
cd /usr/local/bin ---自己实际docker-compose安装路径
touch docker-compose.yml ---如图所示
2、配置docker-compose.yml
version: '3'
services:
elasticsearch:
image: docker.io/es-hanlp
container_name: elasticsearch
privileged: true
environment:
- discovery.type=single-node
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- http.cors.enabled=true
- http.cors.allow-origin=*
volumes:
- /docker/elasticsearch/data:/usr/share/elasticsearch/data
- /docker/elasticsearch/log:/usr/share/elasticsearch/logs
ports:
- "9200:9200"
- "9300:9300"
networks:
- net-es
es-head:
image: mobz/elasticsearch-head:5
container_name: elasticsearch-head
restart: always
privileged: true
networks:
- net-es
ports:
- "9100:9100"
networks:
net-es:
driver: bridge
3、创建文件路径并赋权限
/docker/elasticsearch/data
/docker/elasticsearch/log
chmod -R 775 /docker/elasticsearch/data
chmod -R 775 /docker/elasticsearch/log
4、启用命令:docker-compose up -d
如图所示则启用成功
三、拓展内容
1、测试
_analyze
"text": "美国阿拉斯加州8.0级地震",
"tokenizer": "hanlp_index"
#hanlp: hanlp默认分词
#hanlp_standard: 标准分词
#hanlp_index: 索引分词 (测试有用到)
#hanlp_n_short: N-最短路分词
#hanlp_dijkstra: 最短路分词
#hanlp_speed: 极速词典分词
2、优化es-head
2.1、创建该路径
cd /docker
mkdir eshead/
2.2、执行命令
docker cp elasticsearch-head:/usr/src/app/_site /docker/eshead/_site
cd /docker/eshead/_site
vi app.js
找到598行 res.hits.total 修改为res.hits.total.value 并保存
命令:
vi vendor.js
6886行 /contentType: "application/x-www-form-urlencoded 改成contentType: “application/json;charset=UTF-8”
7573行 var inspectData = s.contentType === “application/x-www-form-urlencoded” && 改成 var inspectData = s.contentType === “application/json;charset=UTF-8” &&
2.3、并且将如下内容覆盖至dokcer-compose.yml
version: '3'
services:
elasticsearch:
image: docker.io/es-hanlp
container_name: elasticsearch
privileged: true
environment:
- discovery.type=single-node
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- http.cors.enabled=true
- http.cors.allow-origin=*
volumes:
- /docker/elasticsearch/data:/usr/share/elasticsearch/data
- /docker/elasticsearch/log:/usr/share/elasticsearch/logs
ports:
- "9200:9200"
- "9300:9300"
networks:
- net-es
es-head:
image: mobz/elasticsearch-head:5
container_name: elasticsearch-head
restart: always
privileged: true
volumes:
- /docker/eshead/_site:/usr/src/app/_site
networks:
- net-es
ports:
- "9100:9100"
networks:
net-es:
driver: bridges
重启即可如图所示则表示分词器安装成功
docker-compose down -v
docker-compose up -d
后续会出springboot整合elasticsearch+hanlp(7.16.2)-附完整测试用例
搬运请标明出处
以上是关于一docker-compose部署elasticsearch+hanlp(7.16.2版本)----附完整镜像的主要内容,如果未能解决你的问题,请参考以下文章
如何在 AWS Elastic Container Service 中使用现有的 docker-compose.yml 文件?
Docker-compose部署Elasticsearch和Kibana
AWS Elastic Beanstalk 不支持 docker-compose.yml 吗?
使用 docker-compose 的 Elastic Beanstalk Docker 私有注册表