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

kibanan

#   sudo docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <es container-ID>
docker run --name kibana -e ELASTICSEARCH_URL=http://172.19.0.2:9100 -p 5601:5601 -d kibana:5.6.12

测试流程如下

1.新建索引

curl -XPUT http://localhost:9200/cao

2.设置设置分析器

POST http://localhost:9200/cao/user/_mapping
{
        "properties": {
            "content": {
                "type": "text",
                "analyzer": "ik_smart",
                "search_analyzer": "ik_smart"
            }
        }    
}

3.插入数据

curl -H "Content-Type: application/json" -XPOST http://localhost:9200/cao/user/1 -d '{"content":"ce"}'

4.删除索引

推荐

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

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值