关于ElasticSearch-Head中查询不出数据的解决方法

原文链接:https://blog.csdn.net/qq_31142553/article/details/99689758

在docker安装了elasticsearch-head:5和elasticsearch:6.3.2之后,打开界面连接es时发现数据无法展示。


数据无法显示

于是网上查了下原因,说是elasticsearch 6增加了请求头严格校验的原因,并且返回结果是

{
"error" : "Content-Type header [application/x-www-form-urlencoded] is not supported",
"status" : 406
}
所以我们需要修改一下elasticsearch-head 5的配置文件。

1、因为docker容器里面无法使用vi/vim,所以需要先将文件拷贝出来。

命令:docker cp es_head:/usr/src/app/_site/vendor.js ./

说明:将容器里面/usr/src/app/_site/vendor.js文件拷贝到宿主机的当前目录下,其中es_head为容器名,也可以写容器id。

2、编辑文件

vi vendor.js

共有两处

1)6886行
contentType: "application/x-www-form-urlencoded
改成
contentType: "application/json;charset=UTF-8"
2)7573行
var inspectData = s.contentType === "application/x-www-form-urlencoded" &&
改成
var inspectData = s.contentType === "application/json;charset=UTF-8" &&

补充说明

vi中显示行号的命令为

:set nu

vi中跳转到指定行的命令为

:行号

3、将改完后的文件拷贝回容器

docker cp vendor.js es_head:/usr/src/app/_site

无需重启,刷新页面即可。


数据正常显示

你可能感兴趣的:(关于ElasticSearch-Head中查询不出数据的解决方法)