Elasticsearch 聚合查询的精确与近似
在使用 Elasticsearch 进行数据分析时,聚合查询(Aggregation Query)是常用的功能之一。然而,聚合查询的结果有时会让我们感到困惑,尤其是当我们看到同一个字段在不同的聚合中返回不同的文档计数时。今天我们来探讨一下 Elasticsearch 中的一个有趣现象:为什么同一个值在两个不同的聚合中会返回不同的文档计数。
问题描述
假设我们有一个索引my_index,里面包含了不同主题(subject.label)的文档。我们希望进行以下两个聚合:
- 特定值的文档计数:我们只希望获取特定主题(例如,“Buddhist art”)的文档计数。
- 最常见值的文档计数:我们希望获取
subject.label字段中前五个最常见的值及其文档计数。
我们构造了一个查询如下:
POSTmy_index/search{"query":