-
global 全局聚合
- 定义搜索执行上下文中所有文档的单个存储桶。此上下文由要搜索的索引和文档类型定义,但不受搜索查询本身的影响。
- 全局聚合器只能作为顶级聚合器放置,因为将全局聚合器嵌入到另一个存储桶聚合器中没有意义。
- 请求示例:
-
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中是个空体,其下有个subaggreatons子聚合求平均值;
-
上面的聚合演示了如何计算搜索上下文中所有文档的聚合,而不管查询如何(在我们的示例中,它将计算目录中所有产品的平均价格,而不仅仅是上面query查询条件匹配的"t-shirt")
-
返回示例:
-
{ ... "aggregations": { "all_products": { "doc_count": 7, "avg_price": { "value": 140.71428571428572 } }, "t_shirts": { "value": 128.33333333333334 } } }
已聚合的文档数(在本例中为搜索上下文中的所有文档)为7个
所有产品的平均价格为140.7128...
所有t-shirts的平均价格为128.33333... -
missing 缺少聚合
- 基于字段数据的单个存储桶聚合,用于创建当前文档集中上下文中缺少字段值(实际上缺少字段或设置了配置的 NULL 值)的所有文档的存储桶。此聚合器通常与其他字段数据存储桶聚合器(如区域)结合使用,以返回由于缺少字段数据值而无法放置在任何其他存储桶中的所有文档的信息。
- 请求示例:<
Elasticsearch 7.X-8.0 AggregationBuliders 相关聚合函数(二)桶聚合-嵌套查询
于 2022-02-19 11:10:49 首次发布