ES Head插件的使用点滴 #ElasticSearch Head

ES Head插件的使用点滴
吴家奇
2020/08/07

  1. ES Head 插件简介:
    a. ElasticSearch-Head是较早支持ElasticSearch的可视化客户端工具之一。早期版本的ElasticSearch-Head可以直接以插件的方式在ElasticSearch中进行安装,在ElasticSearch 5之后则需要将elasticsearch-Head服务单独运行,并且支持Chrome的插件方式或者Docker容器运行方式。
    ES Head插件的使用点滴 #ElasticSearch Head
    点击ElasticSearch-Head按钮即可在Chrome中使用客户端的可视化功能了。
    b. 只需要输入ElasticSearch的URL并点击connect,成功连接即可显示如下图所示
    ES Head插件的使用点滴 #ElasticSearch Head

  2. ES Head 插件使用方法:
    a. 如果需要执行相应的API操作,我们可以使用基本查询或者复合查询两种查询方法。之前有提到过ES是属于倒排索引,查询的效率特别的高,但是ES的查询语句就很麻烦了,ES不管是查询,统计都是用POST的BODY以JSON的形式进行的,比如我要在某个文档中查询被手动输入创建的。
    用SQL中应该是这样的
    Select indicator_info.created_by from indicator_domain where *_manual_entry
    但是在ES中如果使用基础查询就可以是
    ES Head插件的使用点滴 #ElasticSearch Head

b. 如果需要执行复合查询,就应该是这样的。 这里面我传递了size参数,如果不传,ES默认会返回10条数据,查询结果ES也会返回JSON,其中hits字段中会有total,也就是我们查询的结果的总数,然后hits回返回给我们内容。 ES Head插件的使用点滴 #ElasticSearch Head

下面是这个查询的返回结果
ES Head插件的使用点滴 #ElasticSearch Head

i. 复合查询这里还有一个小技巧,我们可以通过设置后缀来返回指定的字段名称。

  1. 举例: ES Head插件的使用点滴 #ElasticSearch Head

  2. 这样再固定返回索引名称,索引类型,索引id后,还会额外返回我们指定的字段。
    ES Head插件的使用点滴 #ElasticSearch Head

  3. ES之聚合分析:
    对于ES聚合,相当于数据库中的group by语句,把ES中符合条件的数据给聚合并返回给我们。ES中,聚合的语句的查询格式为
    ES Head插件的使用点滴 #ElasticSearch Head

a. 指标聚合: 指标聚合就是对数据集中的数据进行相应的指标计算之后,得出聚合结果,比如计算最大值,最小值和平均值等等。
一般的查询格式为: ES Head插件的使用点滴 #ElasticSearch Head

b. 桶聚合(bucket aggregation)
桶聚合是我们这里用到的聚合方式,就是把符合聚合条件数据放在一个桶里面,除此之外,桶聚合还可以计算落入某个桶里的文档数量也就是count
以我们这里的例子:按照某个字段进行聚合,我们的created_by字段有各种人名,按照名称进行聚合,查询的语句如下
ES Head插件的使用点滴 #ElasticSearch Head

这里面 aggs, term_agg, terms 以及field 都是桶查询的固定格式,不可以修改。
返回结果如下: ES Head插件的使用点滴 #ElasticSearch Head

key为聚合的桶的名称,doc_count就是聚合的数量。聚合的操作非常复杂,有时候还要按照嵌套进行聚合才能得到我们想要的结果。 下面是一些常见的聚合。
ES Head插件的使用点滴 #ElasticSearch Head