飞道的博客

Elasticsearch高级操作 (聚合查询)

362人阅读  评论(0)

聚合允许使用者对es文档进行统计分析,类似与关系型数据库中的group by,当然还有很多其他的聚合,例如取最大值、平均值等等。

对某个字段取最大值max

在 Postman中,向ES服务器发GET请求 :http://127.0.0.1:9200/student/_search

{
   
    "aggs":{
   
      "max_age":{
   
        "max":{
   "field":"age"}
      }
    },
    "size":0
}

服务器响应结果如下:

对某个字段取最小值min

在 Postman中,向ES服务器发GET请求 :http://127.0.0.1:9200/student/_search

{
   
    "aggs":{
   
      "min_age":{
   
        "min":{
   "field":"age"}
      }
    },
    "size":0
}

服务器响应结果:

对某个字段求和sum

在 Postman中,向ES服务器发GET请求 :http://127.0.0.1:9200/student/_search

{
   
    "aggs":{
   
      "sum_age":{
   
        "sum":{
   "field":"age"}
      }
    },
    "size":0
}

服务器响应如下:

对某个字段取平均值avg

在 Postman中,向ES服务器发GET请求 :http://127.0.0.1:9200/student/_search

{
   
    "aggs":{
   
      "avg_age":{
   
        "avg":{
   "field":"age"}
      }
    },
    "size":0
}

服务器响应如下

对某个字段的值进行去重之后再取总数

在 Postman中,向ES服务器发GET请求 :http://127.0.0.1:9200/student/_search

{
   
    "aggs":{
   
      "distinct_age":{
   
        "cardinality":{
   "field":"age"}
      }
    },
    "size":0
}

服务器响应如下:

State聚合

stats聚合,对某个字段一次性返回count,max,min,avg和sum五个指标

在 Postman中,向ES服务器发GET请求 :http://127.0.0.1:9200/student/_search

{
   
    "aggs":{
   
      "stats_age":{
   
        "stats":{
   "field":"age"}
      }
    },
    "size":0
}

服务器响应结果:


转载:https://blog.csdn.net/weixin_45417821/article/details/117196687
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场