docker安装elasticsearch全文检索引擎

之前在centos上安装了elasticsearch-5.5.1全文检索引擎

安装了elasticsearch-head插件

安装了mysql-connector-java-5.1.46

安装lasticsearch-jdbc-2.3.3.1-dist用来将mysql数据导入到elasticsearch

安装了中文分词插件elasticsearch-analysis-ik-1.9.3

安装了拼音插件elasticsearch-analysis-pinyin-5.5.1

后来安装了kibana-5.5.1-x86_64

然后又装了logstash-5.5.1和logstash-input-jdbc-4.1.3

后来环境搞得一踏糊涂,都不想动了

想想能不能用docker来安装

这里安装elasticsearch 7.2.0

`docker pull elasticsearch:7.2.0`

创建容器

`docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -d elasticsearch:7.2.0`

如果访问`http://localhost:9200`能显示内容则安装成功

接着安装elasticsearch-head插件

`docker pull mobz/elasticsearch-head:5`

运行容器

`docker run -d --name es_admin -p 9100:9100 mobz/elasticsearch-head:5`

访问`http://localhost:9100`能打开则表示安装成功

尝试连接`http://localhost:9200` elaseticsearch会发现无法连接上,由于是前后端分离开发,所以会存在跨域问题,需要在服务端做CORS的配置,

修改docker中elasticsearch的elasticsearch.yml文件

```
docker exec -it elasticsearch /bin/bash
vi config/elasticsearch.yml
```

在最下面添加2行

```
http.cors.enabled: true
http.cors.allow-origin: "*"
```

退出并重启服务

```
exit
docker restart elasticsearch
```

当创建索引时提示406 Not Acceptable

这个时候进入`docker exec -it elasticsearch-head /bin/bash`

修改`/usr/src/app/_site/vendor.js`

```
①、6886行 contentType: "application/x-www-form-urlencoded,改成:contentType: "application/json;charset=UTF-8"

②、7574行 var inspectData = s.contentType === "application/x-www-form-urlencoded" &&,改成:var inspectData = s.contentType === "application/json;charset=UTF-8" &&

```

接着重启`docker restart elasticsearch-head`那可解决问题

添加数据提示`{"error":"Content-Type header [application/x-www-form-urlencoded] is not supported`

则添加

```
-H "Content-Type: application/json"
```

例如

curl -H "Content-Type: application/json" -XPOST 192.168.14.173:32000/test_index_1221/test_type/5 -d '{'user_name':"xiaoming"}'

更多用法

`https://blog.csdn.net/qq_35393693/article/details/80143006`

`https://www.cnblogs.com/UUUz/p/11170833.html`

    A+
发布日期:2021年05月29日  所属分类:未分类

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: