首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >排序结果的前10%

排序结果的前10%
EN

Stack Overflow用户
提问于 2015-08-11 18:16:24
回答 1查看 70关注 0票数 1

我正在寻找一个设置,它实际上返回了某个查询的前10%的结果。在得到结果之后,我们还想对子集进行排序。

有什么简单的方法可以做到这一点吗?

有没有人能提供一个简单的例子。我在考虑将结果得分在0到1.0之间,并基本上将min_score指定为0.9。

我正在尝试创建function_score查询,但对于像这样的简单需求来说,这些查询似乎有点复杂,而且我不确定排序将如何影响结果,因为我希望排序函数始终适用于10%最相关的文章。

谢谢,彼得

EN

回答 1

Stack Overflow用户

发布于 2015-08-11 19:11:38

由于您希望将响应划分为文档总数的%,因此无论如何您都需要知道这一点。并且使用from / size参数将在查询时减少所需的数量。

假设这一点,似乎实现目标的最简单方法是进行2个查询:

  1. 使用所有筛选器、无查询和search_type=count进行筛选的查询,以获取总体文档计数。
  2. 执行常规匹配查询,应用从第一个响应中获取计数的{"from": 0, "size": count/10}

谈到了调整分数。对我来说,这似乎是一个糟糕的想法,因为获得多个相同分数的文档是非常普遍的情况。因此,使用min_score对数据集进行裁剪可能会导致数据倾斜。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31939052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档