一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 私有注册表

AWS Elastic Beanstalk 与 AMI2 和 docker-compose.yml

如何在docker中部署Elasticsearch集群和kibana