Aggregations | Elasticsearch Reference [7.6] | Elastic

ES 中的聚合类型主要可以分为以下 4 种:

聚合结构:

"aggregations" : {
    "<aggregation_name>" : {
        "<aggregation_type>" : {
            <aggregation_body>
        }
        [,"meta" : {  [<meta_data_body>] } ]?
        [,"aggregations" : { [<sub_aggregation>]+ } ]?
    }
    [,"<aggregation_name_2>" : { ... } ]*
}

Metric Aggregations 数值聚合


Metrics Aggregations | Elasticsearch Reference [7.6] | Elastic

Avg 平均值计算

POST twitter/_search?size=0
# 计算所有文档 likes 的平均值
{
  "aggs":{
    "avg_likes":{
      "avg":{"field":"likes"}
    }
  }
}
#  > return:
...
 "aggregations" : {
    "avg_likes" : {
      "value" : 178.26923076923077
    }
  }
...

定义缺失参数,默认情况下,确实参数会被忽略,也可以通过 missing 指定缺失参数的值。

POST twitter/_search?size=0
{
  "aggs":{
    "avg_likes":{
      "avg":{
        "field":"likes",
        "missing": 1
      }
    }
  }
}

Weighted Avg 加权平均数计算