ElasticSearch 根据查询的所有命中构建聚合结果,独立于 from 和 size 参数。这是我们在大多数情况下想要的,但我有一个特殊情况,我需要将聚合限制为前 N 个命中。限制过滤器不适合,因为它不获取最好的 N 个项目,而只获取与查询(每个分片)匹配的第一个 X,而与它们的分数无关。
有什么方法可以构建一个命中数上限为 N 的查询,以便能够构建一个仅限于前 N 个结果的聚合?如果是这样怎么办?
辅助问题:限制匹配文档的分数可能是一种替代方法,即使在我的情况下我需要一个固定的界限。min_score 参数是否影响聚合?