ES Head插件的使用点滴 #ElasticSearch Head
ES Head插件的使用点滴
吴家奇
2020/08/07
-
ES Head 插件简介:
a. ElasticSearch-Head是较早支持ElasticSearch的可视化客户端工具之一。早期版本的ElasticSearch-Head可以直接以插件的方式在ElasticSearch中进行安装,在ElasticSearch 5之后则需要将elasticsearch-Head服务单独运行,并且支持Chrome的插件方式或者Docker容器运行方式。
点击ElasticSearch-Head按钮即可在Chrome中使用客户端的可视化功能了。
b. 只需要输入ElasticSearch的URL并点击connect,成功连接即可显示如下图所示 -
ES Head 插件使用方法:
a. 如果需要执行相应的API操作,我们可以使用基本查询或者复合查询两种查询方法。之前有提到过ES是属于倒排索引,查询的效率特别的高,但是ES的查询语句就很麻烦了,ES不管是查询,统计都是用POST的BODY以JSON的形式进行的,比如我要在某个文档中查询被手动输入创建的。
用SQL中应该是这样的
Select indicator_info.created_by from indicator_domain where *_manual_entry
但是在ES中如果使用基础查询就可以是
b. 如果需要执行复合查询,就应该是这样的。 这里面我传递了size参数,如果不传,ES默认会返回10条数据,查询结果ES也会返回JSON,其中hits字段中会有total,也就是我们查询的结果的总数,然后hits回返回给我们内容。
下面是这个查询的返回结果
i. 复合查询这里还有一个小技巧,我们可以通过设置后缀来返回指定的字段名称。
-
举例:
-
这样再固定返回索引名称,索引类型,索引id后,还会额外返回我们指定的字段。
-
ES之聚合分析:
对于ES聚合,相当于数据库中的group by语句,把ES中符合条件的数据给聚合并返回给我们。ES中,聚合的语句的查询格式为
a. 指标聚合: 指标聚合就是对数据集中的数据进行相应的指标计算之后,得出聚合结果,比如计算最大值,最小值和平均值等等。
一般的查询格式为:
b. 桶聚合(bucket aggregation)
桶聚合是我们这里用到的聚合方式,就是把符合聚合条件数据放在一个桶里面,除此之外,桶聚合还可以计算落入某个桶里的文档数量也就是count
以我们这里的例子:按照某个字段进行聚合,我们的created_by字段有各种人名,按照名称进行聚合,查询的语句如下
这里面 aggs, term_agg, terms 以及field 都是桶查询的固定格式,不可以修改。
返回结果如下:
key为聚合的桶的名称,doc_count就是聚合的数量。聚合的操作非常复杂,有时候还要按照嵌套进行聚合才能得到我们想要的结果。 下面是一些常见的聚合。