全局聚合
编辑全局聚合编辑
定义搜索执行上下文中所有文档的单个桶。此上下文由您正在搜索的索引和文档类型定义,但不受搜索查询本身的影响。
全局聚合器只能放置为顶级聚合器,因为将全局聚合器嵌入另一个桶聚合器中是没有意义的。
示例
response = client.search( index: 'sales', size: 0, body: { query: { match: { type: 't-shirt' } }, aggregations: { all_products: { global: {}, aggregations: { avg_price: { avg: { field: 'price' } } } }, t_shirts: { avg: { field: 'price' } } } } ) puts response
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" } } } }
上面的聚合演示了如何对搜索上下文中的所有文档计算聚合(在本例中为 avg_price
),而不管查询如何(在我们的示例中,它将计算目录中所有产品的平均价格,而不仅仅是“衬衫”)。
上述聚合的响应