"过滤器和aggs"之间的区别是什么? "过滤aggs"

时间:2015-11-27 08:35:28

标签: elasticsearch

我有两种方法来记录我的数据。

首先,我过滤mysql数据并将其搞砸

其次,我在aggs中过滤了数据。 如下:

我发现了不同的结果,我不知道为什么。

任何人都可以解释一下吗?

case 1

case 2

1 个答案:

答案 0 :(得分:3)

来自Docs

  

默认情况下,聚合在与查询相同的范围内运行。换句话说,聚合是根据与您的查询匹配的文档集计算的。

因此,在第一种情况下,您将获得符合"site_id" : 1167639标准的文档,然后对这些文档执行aggregation

在第二种情况下,您没有指定任何查询,因此默认情况下它是match_all查询,您将获取hits中65773792的所有文档。然后使用{{3}缩小聚合标准。