5.2.13. Global Aggregation
全局聚合
定义了所有搜索上下文中的文档的单个桶, 该上下文是由您搜索的索引和文档类型定义的,但不受搜索查询本身的影响。
注意
全局聚合器只能作为顶级聚合器放置,因为在另一个桶聚合器中嵌入全局聚合器没有意义。
以下是示例:
POST /sales/_search?size=0
{
"query" : {
"match" : { "type" : "t-shirt" }
},
"aggs" : {
"all_products" : {
"global" : {},
"aggs" : {
"avg_price" : { "avg" : { "field" : "price" } }
}
},
"t_shirts": { "avg" : { "field" : "price" } }
}
}
-
global
聚合具有空的内容体 -
为该
global
聚合注册的子聚合
上述聚合演示了如何在搜索上下文中的所有文档上计算聚合(本例中为 avg_price
),而不考虑查询(在我们的例子中,它将计算目录中所有产品的平均价格,而不仅仅是「shirts」)。
上述聚合的响应:
{
...
"aggregations" : {
"all_products" : {
"doc_count" : 7,①
"avg_price" : {
"value" : 140.71428571428572 ②
}
},
"t_shirts": {
"value" : 128.33333333333334 ③
}
}
}
-
被聚合的文档数(在我们的例子中,是搜索上下文中的所有文档)
-
索引中所有产品的平均价格
-
所有 t-shirts 的平均价格
本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。