之前,我有一个简单的场景:计算聚合运行筛选查询
我寻找一些文本,弹性恢复文件和
聚合。然后,我使用从该聚合返回的字段中的值来过滤该搜索。我在过滤器中使用条款查询
我希望文档能够根据我的过滤条件进行过滤,而且过滤条件正常。
但我想不应用过滤条件的聚集桶(因为如果我应用过滤后得到的水桶,我就得到一个值)
我的解决方法,以获得聚合不应用过滤器:发送两个请求,弹性搜索,在第一个请求,发送带过滤器的查询应用,并在第二个请求,发送查询,而不应用的过滤器
问:有没有更好的方式来实现这一目标?我环顾四周,我想我可以在定义聚合时设置global:{}
,但我不确定!
或者更好的说,有没有一种方法可以在将滤镜应用到文档之前获得聚合结果?
编辑
我做了一些搜索,它看起来是post_filter
是专为这样的情况下,即,如果你不想让你的过滤器来影响聚合。但是,也有大量的性能谈判post_filter
现在我想知道发送两个请求是否比在性能方面使用post_filter更好。