docker配置elasticsearch

背景

搜索这块公司一直用的阿里云的opensearch也挺方便的,但是很贵量一上来直接抗不住。于是目标投向elasticsearch。

问题

具体细节有片不错的文档 docker部署elasticearch
自己用docker部署了一遍,遇到的坑还是有的。

  1. 比如添加head插件后没法访问显示跨域,是因为服务端没有设置跨域配置需要去config目录下的vi elasticsearch.yml 文件修改
http.cors.enabled: true
http.cors.allow-origin: "*"
  1. 下载head插件到plugins/ 目录下后,导致服务启动不了。解决办法就是不要安装到这个目录。

运行

docker run -d -p 9200:9200 -p 9300:9300 -v /home/xiukang/docker/es/config:/usr/share/elasticsearch/config -v /home/xiukang/docker/es/data:/usr/share/elasticsearch/data -e ES_JAVA_OPTS="-Xms256m -Xmx256m" --name=es  caoxiukang123456/elasticsearch:lastest

配置文件

可以直接将数据文件和配置文件挂载到苏主机,docker内部我已经安装好vim工具,可以自行修改配置文件等。

# es.yml
# how run? docker-compose -f es.yml up -d
version: "2"
services:  
    es:
        container_name: es
        image: caoxiukang123456/elasticsearch:latest
        privileged: true
        environment:
            ES_JAVA_OPTS: "-Xms256m -Xmx256m"
        volumes:
            #- /home/xiukang/docker/es/config:/usr/share/elasticsearch/config
            - /home/xiukang/docker/es/data:/usr/share/elasticsearch/data
        ports:
            - "9200:9200" 
            - "9300:9300" 
        #tty:true 
 
    es_admin:
        container_name: es_admin
        image: mobz/elasticsearch-head:5
        privileged: true
        ports:
            - "9100:9100"
        #tty: true # 如果不启动服务,需要打开这个让镜像启动

分词器

elasticsearch分词器有好多哦 analyzer,Tokenizer

elasticsearch-plugin  install  
https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.6.9/elasticsearch-analysis-ik-5.6.9.zip

window安装

elasticsearch-plugin.bat install file:///D:/hadoop/elasticsearch-analysis-ik-5.6.9.zip

linux安装

elasticsearch-plugin  install 
file:///home/hadoop/elasticsearch-analysis-ik-5.6.9.zip

推荐

有好几篇不错的文章可以看看

  1. elasticsearch权威指南
  2. 全文搜索引擎 Elasticsearch 入门教程
  3. Elasticsearch-PHP 中文文档
  4. golang操作Elasticsearch

致谢

感谢上面相关文章,资料很全。

你可能感兴趣的:(docker)