首页 文章

弹性搜索中的排序和评分

提问于
浏览
0

我需要使用机器学习算法来对查询结果进行排序/排序 . 我们的查询在elasticsearch上运行 . 为此,我们需要组合来自文档本身的数据,来自解释部分(尽管不应该返回解释)和外部来源 .

这是非常繁重的计算,所以我不想在所有文档上运行排名算法,但只在前1000名上运行,并返回我的前100名 .

创建评分插件将在所有文档上运行;我没有看到任何为重新安装阶段创建插件的选项 . 所以,似乎我必须创建一个排序插件 .

我的问题是 - 在分拣阶段有多少文件正在运行?有没有办法控制它(如rescore中的window_size)?如果我有分页会发生什么 - 我的排序是否再次运行?是否可以将1000个文档与解释部分一起放入排序阶段,只返回100而没有解释?

谢谢!

1 回答

  • 0
    • 这是非常繁重的计算,所以我不想在所有文档上运行排名算法,但只在前1000名上运行,并返回我的前100名 .

    使用rescoring结合你的评分插件,重新计算algo仅在前N个结果上运行

    • 在分拣阶段有多少文件正在运行?

    所有与您的查询匹配的内容,如果您要求提供N个文档,则每个分片都会发送前N个,然后将它们合并在一起

    • 如果我有分页会发生什么 - 我的排序是否再次运行?

    是的,排序再次运行,如果您要求100000到100010的文档,则更糟糕,每个分片100010个文档的排序

相关问题