关于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

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


数据正常显示
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容