elasticsearch入门到放弃之elasticsearch-head
elasticsearch-head可理解为跟DBeaver一样是一个数据可视化工具,但是这个工具并没有理想中那么好用坑也是很多,我已经在我的github上fork了一份修改后的版本:https://github.com/zhaoyunxing92/elasticsearch-head
系列文章
- elasticsearch入门到放弃之docker搭建 es环境搭建
- elasticsearch入门到放弃之x-pack安全认证 x-pack保驾护航你的es
- elasticsearch入门到放弃之elasticsearch-in-java elasticsearch api使用
- elasticsearch入门到放弃之springboot elasticsearch x-pack springboot整合elasticsearch
- spring-data-elasticsearch实践
docker-compose.yml配置
如果你elasticsearch没有开启x-pack并且不需使用es-head创建索引,并且你比较懒,那么就可以使用docker构建,这么多限制条件就知道它有多难用了,这个不想过多解释直接拿去使用就是了
version: '3'
services:
head:
image: docker.io/mobz/elasticsearch-head:5
container_name: es-head # docker启动后的名称
network_mode: host # 公用主机的网络
ports:
- 9100:9100
chrome插件方式
直接说我的问题吧,我是按照elasticsearch-head官方在地址栏后面添加http://localhost:9100/?auth_user=elastic&auth_password=changeme结果一直提示我401(授权未通过),百度了半天都说这样就可以了(事实证明那些人根本没有开启过x-pack),我本来是想在官网上提交一个issues的但是发现这个项目两年前就很少有人再修改了,没办法我只能硬着头皮fork一份自己修改了。通过chrome抓包我发现访问头的authorization字段未按照理想的basic auth加密,下面就直接贴出我修改的地方代码吧
app.js修改地方
// 打开 _site/app.js文件 跳转到3787行
_reconnect_handler: function() {
var base_uri = this.el.find(".uiClusterConnect-uri").val();
var url;
if(base_uri.indexOf("?")!==-1){
url=base_uri.substring(0,base_uri.indexOf("?")-1)
}else{
url=base_uri;
}
var argstr=base_uri.substring(base_uri.indexOf("?")+1,base_uri.length-1)
// 在地址栏获取auth_user=elastic&auth_password=changeme格式的参数
let args = argstr.split("&").reduce(function(r, p) {
r[decodeURIComponent(p.split("=")[0])] = decodeURIComponent(p.split("=")[1]); return r;
}, {});
$("body").empty().append(new app.App("body",
{ id: "es",
base_uri: url,
auth_user : args["auth_user"]||"",
auth_password : args["auth_password"]||""
}));
}
懒人模式
如果你嫌修改代码太麻烦我也做好了chrome插件:https://github.com/zhaoyunxing92/elasticsearch-head/blob/master/crx/es-head.crx 下载到本地,如果你会chrome插件开发你也可以自己编译一份使用_site目录编译就可以了,manifest.json文件我都写好了(我的chrome账户已经忘记了不然我会上传到google商店)
安装流程
在chrome地址栏输入:chrome://extensions 点开开发者模式
![chrome-extension] (https://gitee.com/sunny9/resource/raw/master/img/chrome-extensions.png)
- 下载模式安装
本地创建一个head文件夹,把下载好的es-head.crx解压到head文件加里面,然后在chrome里选择加载已解压的扩展程序,完事后chrome右边就会多出一个搜索的icon
- 自己编译模式
# clone 代码
git clone https://github.com/zhaoyunxing92/elasticsearch-head
在chrome里面选择打包扩展程序

完事后会在_site平级目录下多出一个_site.crx文件,拖到chrome里面就完成了
最终效果图
如果你的es开启了x-pack那么输入框换成:http://localhost:9100/?auth_user=elastic&auth_password=es密码

最后
如果你想了解更多的文章可以微信搜索zhaoyx92,或者扫码关注.别抱有太高期望,更新很慢的
elasticsearch入门到放弃之elasticsearch-head的更多相关文章
- Elasticsearch入门教程(六):Elasticsearch查询(二)
原文:Elasticsearch入门教程(六):Elasticsearch查询(二) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:h ...
- Elasticsearch入门教程(五):Elasticsearch查询(一)
原文:Elasticsearch入门教程(五):Elasticsearch查询(一) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:h ...
- Elasticsearch入门教程(四):Elasticsearch文档CURD
原文:Elasticsearch入门教程(四):Elasticsearch文档CURD 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接: ...
- Elasticsearch入门教程(三):Elasticsearch索引&映射
原文:Elasticsearch入门教程(三):Elasticsearch索引&映射 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文 ...
- Elasticsearch入门教程(二):Elasticsearch核心概念
原文:Elasticsearch入门教程(二):Elasticsearch核心概念 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:ht ...
- Elasticsearch入门教程(一):Elasticsearch及插件安装
原文:Elasticsearch入门教程(一):Elasticsearch及插件安装 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:h ...
- 《读书报告 -- Elasticsearch入门 》-- 安装以及简单使用(1)
<读书报告 – Elasticsearch入门 > 第一章 Elasticsearch入门 Elasticsearch是一个实时的分布式搜索和分析引擎,使得人们可以在一定规模上和一定速度上 ...
- ElasticSearch 入门总结
ElasticSearch 入门 本篇为 ElasticSearch 入门学习总结笔记,课程视频地址:ElasticSearch 入门 一.ElasticSearch 简介 1.1.什么是Elasti ...
- ElasticSearch入门一
ElasticSearch入门一 1 安装ElasticSearch,配置环境变量,并且存在Java环境,而且是Java环境: 下图是安装的目录: 进入bin目录之后,请看bin目录: 启动elast ...
随机推荐
- anaconda的报错:Anaconda:There is an instance of anaconda navigator already running error
anaconda的报错:Anaconda:There is an instance of anaconda navigator already running error 出现这个问题的时候人蒙了,主 ...
- sqli-labs lesson5-6 布尔盲注 报错注入 延时注入
LESSON 5: 典型的布尔盲注. 盲注:sql注入过程中,sql语句的执行结果不回显到前端,这个时候就只能用一些别的方法进行判断或者尝试,这个判断或者尝试就叫做盲注.盲注又分为:1.基于布尔SQL ...
- 017 PCIe总线的事务层(一)
一.PCIe总线的事务层 事务层是PCIe总线层次结构的最高层,该层次将接收PCIe设备核心层的数据请求,并将其转换为PCIe总线事务,PCIe总线使用的这些总线事务在TLP头中定义.PCIe总线继承 ...
- 一文搞懂RPC原理
RPC原理解析 什么是RPC RPC(Remote Procedure Call Protocol)--远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.R ...
- NOIP 模拟 $38\; \rm c$
题解 \(by\;zj\varphi\) 发现就是一棵树,但每条边都有多种不同的颜色,其实只需要保留随便三种颜色即可. 直接点分治,将询问离线,分成一端为重心,和两端都不为重心的情况. 每次只关心经过 ...
- vue + iview 怎样在vue项目下添加ESLint
参考:https://segmentfault.com/a/1190000012019019?utm_source=tag-newest 使用iview框架的MenuGroup标签,vscode报红, ...
- [SWMM]弗汝德数
弗汝德数(Froude number)是流体内惯性力与重力的比值.弗汝德数(Fr)是水力学中重要的无量纲数之一,它表示过水断面上单位重量液体具有的平均动能与平均势能的比值,它也表示水流惯性力与重力的比 ...
- Go: 复合数据类型slice
slice slice 表示用于相同类型元素的可变长度的序列. slice有三个属性:指针.长度和容量. 指针:slice存储数据的内部结构是数组,指针指向的是数组的地址 长度:保存slice中的元素 ...
- spring boot应用常用配置
pom.xml <!--自动打包--> <plugin> <groupId>org.springframework.boot</groupId> < ...
- Tensorflow 2.0 深度学习实战 —— 详细介绍损失函数、优化器、激活函数、多层感知机的实现原理
前言 AI 人工智能包含了机器学习与深度学习,在前几篇文章曾经介绍过机器学习的基础知识,包括了监督学习和无监督学习,有兴趣的朋友可以阅读< Python 机器学习实战 >.而深度学习开始只 ...