全局聚合
global 聚合允许您跳出过滤器聚合的聚合上下文。即使您包含了缩小文档集的过滤查询,global 聚合仍会对所有文档进行聚合,就好像该过滤查询不存在一样。它会忽略 filter 聚合,并隐式采用 match_all 查询。
以下示例返回索引中所有文档的 taxful_total_price 字段的 avg 平均值:
GET opensearch_dashboards_sample_data_ecommerce/_search
{
"size": 0,
"query": {
"range": {
"taxful_total_price": {
"lte": 50
}
}
},
"aggs": {
"total_avg_amount": {
"global": {},
"aggs": {
"avg_price": {
"avg": {
"field": "taxful_total_price"
}
}
}
}
}
}
示例响应
...
"aggregations" : {
"total_avg_amount" : {
"doc_count" : 4675,
"avg_price" : {
"value" : 75.05542864304813
}
}
}
}
您可以看到,taxful_total_price 字段的平均值为 75.05,而不是在 filter 示例中当查询匹配时看到的 38.36。