在 Elasticsearch 中,聚合(Aggregation)是一种强大的数据分析工具,用于对文档进行分组、统计和计算。根据聚合的结果形式,聚合可以分为 **单桶聚合** 和 **多桶聚合**。
---
### **1. 单桶聚合(Single Bucket Aggregation)**
单桶聚合是指聚合的结果只生成一个桶(bucket),这个桶中可能包含多个文档或子聚合的结果。
#### 特点:
- 只生成一个桶。
- 通常用于对满足特定条件的文档进行过滤或分组。
- 可以在单桶聚合的基础上嵌套其他聚合(子聚合)。
#### 常见的单桶聚合:
- **`filter` 聚合**:根据条件过滤文档,生成一个桶。
```json
{
"aggs": {
"high_value_sales": {
"filter": { "range": { "price": { "gte": 100 } } },
"aggs": {
"avg_price": { "avg": { "field": "price" } }
}