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