elasticsearch 聚合返回分组中每个组内的文档数量大于2的组数而不返回各个分组的数量
时间: 2024-03-27 13:39:05 浏览: 79
要在 Elasticsearch 聚合查询中返回分组中每个组内的文档数量大于2的组数而不返回各个分组的数量,可以使用 Bucket Selector Pipeline Aggregation。Bucket Selector Aggregation 可以用于在聚合结果中选择满足特定条件的 Bucket。
例如,假设有一个名为 "products" 的索引,其中包含了商品的信息,包括 "name" 和 "category" 字段。要计算 "category" 字段中每个组内的文档数量大于2的组数,可以使用以下的聚合查询:
```
{
"aggs": {
"categories": {
"terms": {
"field": "category"
}
},
"filtered_categories": {
"bucket_selector": {
"buckets_path": {
"count": "categories>_count"
},
"script": "params.count > 2"
}
}
}
}
```
这个查询会使用 Terms Aggregation 对 "category" 字段进行聚合,然后使用 Bucket Selector Pipeline Aggregation 选择每个 Bucket 中的文档数量大于2的 Bucket。最终返回的结果是符合条件的 Bucket 数量。注意,以上只是一个简单的示例,实际使用时可能需要根据具体需求进行调整。
阅读全文