elasticsearch根据多个字段统计聚合
时间: 2024-10-25 10:05:40 浏览: 18
elasticsearch查询模版-模糊查询,多字段查询,相似度计算等
Elasticsearch 的聚合功能允许你在搜索结果的基础上进行复杂的数据汇总分析。当你需要根据多个字段对数据进行统计时,可以使用复合聚合(Composite Aggregations)。这通常涉及到结合单个字段的聚合,比如计数、平均值、最大值等。
例如,如果你想按产品类别(category)和销售日期范围(date_range)统计每个类别的销售额总和,你可以创建这样一个查询:
```json
{
"aggs": {
"product_sales": {
"composite": {
"size": 10, // 如果你想限制返回的桶数量
"sources": [
{ "category": {"terms": {"field": "category.keyword"}} },
{ "sales_amount": { "sum": { "field": "sale_amount" } } }
]
}
}
}
}
```
在这个例子中,“product_sales”是一个复合聚合,它包含两个来源(sources),第一个是按“category”分组的`terms`聚合,第二个是计算每个类别销售金额总和的`sum`聚合。
阅读全文