我正在寻找一个设置,它实际上返回了某个查询的前10%的结果。在得到结果之后,我们还想对子集进行排序。
有什么简单的方法可以做到这一点吗?
有没有人能提供一个简单的例子。我在考虑将结果得分在0到1.0之间,并基本上将min_score指定为0.9。
我正在尝试创建function_score查询,但对于像这样的简单需求来说,这些查询似乎有点复杂,而且我不确定排序将如何影响结果,因为我希望排序函数始终适用于10%最相关的文章。
谢谢,彼得
发布于 2015-08-11 19:11:38
由于您希望将响应划分为文档总数的%,因此无论如何您都需要知道这一点。并且使用from / size参数将在查询时减少所需的数量。
假设这一点,似乎实现目标的最简单方法是进行2个查询:
search_type=count进行筛选的查询,以获取总体文档计数。{"from": 0, "size": count/10}。谈到了调整分数。对我来说,这似乎是一个糟糕的想法,因为获得多个相同分数的文档是非常普遍的情况。因此,使用min_score对数据集进行裁剪可能会导致数据倾斜。
https://stackoverflow.com/questions/31939052
复制相似问题