gpt4 book ai didi

elasticsearch - 排序结果前10%

转载 作者:行者123 更新时间:2023-12-02 23:35:08 25 4
gpt4 key购买 nike

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

是否有捷径可寻?

谁能为此提供一个简单的例子。
我当时正在考虑将结果分数缩放到0到1.0之间,并将min_score基本上分隔为0.9。

我试图创建function_score查询,但是对于像这样的简单需求来说,这些查询似乎有点复杂,再加上我不确定排序将如何影响结果,因为我希望sort函数始终在10%最相关的文章上起作用类(class)。

谢谢,
彼得

最佳答案

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

假设这样做,实现目标的最简单方法似乎是进行两个查询:

  • 具有所有过滤器的已过滤查询,不包含查询和search_type=count,以获取总体文档计数。
  • 执行常规匹配查询,将{"from": 0, "size": count/10}与从第一个响应获得的计数一起应用。

  • 谈论调整得分。对我来说,这似乎是个坏主意,因为获取具有相同分数的多个文档是非常普通的情况。因此,通过 min_score切割数据集可能会导致数据偏斜。

    关于elasticsearch - 排序结果前10%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31939052/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com