Elasticsearch-Head 是一款专门针对于 Elasticsearch 的客户端工具。
如何在本地启动 Elasticsearch-Head
首先下载 Elasticsearch-Head 的源码压缩包并解析,下载地址:https://github.com/mobz/elasticsearch-head。
Elasticsearch-Head 是一个基于node.js的前端工程,启动elasticsearch-head的步骤如下(这里针对的是elasticsearch 5.x以上的版本):
- 进入 elasticsearch-head 的文件夹,如:
D:\Software\elasticsearch-head
- 执行
npm install
- 执行
npm run start
启动后在浏览器访问 http://localhost:9100 ,可看到如下界面,表示启动成功:
Elasticsearch-Head 连接到 ES
在上面的界面中输入es节点的ip和http端口,连接es节点。但有可能会没有任何反应,按F12查看可以看到其实连接时会去调用若干个 Elasticsearch 的http的API,但请求时报了 CORS error 的错误。
产生原因:因为 Elasticsearch 默认不支持跨域,所以我们需要修改es配置,让其允许跨域访问。 具体是在es的配置文件elasticsearch.yml
中增加如下两项配置:1
2http.cors.enabled: true
http.cors.allow-origin: "*"
然后重启 Elasticsearch 的节点。
现在就可以正常连接,看到类似如下的界面了。
如何使用
如果你对 Elasticsearch 的原理及其http api不陌生的话,使用 Elasticsearch-Head 的功能应该不难了,其实它就是通过调用 Elasticsearch 的 http api 来对index、document进行增删改查等操作。
概览
在概览的tab栏下,我们可以查看索引的信息。
也可以关闭/开启索引,关闭后的索引如图:
也可以模糊查询索引、设置刷新频率等操作。如下图:
索引
在这个tab里,可以查看到所以的索引,并且还可以创建一个新的索引,如下图:
数据浏览
可以看到索引、类型、字段、数据信息,如下图所示:
基本查询
在这个页签,可以做数据进项简单的查询:
选择一个索引,然后再选择不同的查询条件,勾选“显示查询语句”,最后点击搜索,可以看到具体的查询json和查询结果。
复合查询
在这个页签,可以使用json进行复杂的查询,也可发送put请求新增及跟新索引,使用delete请求删除索引等等。如图所示:
安全问题(重要)
因为 Elasticsearch-Head 可以对数据进行,增删改查。故生产环境尽量不要使用,如果要使用,也要限制IP地址,以免发生数据安全问题。