对于我的项目,我需要找出哪些搜索结果被视为“良好”匹配。目前,分数因查询而异,因此需要以某种方式对它们进行标准化。标准化分数将允许选择高于给定阈值的结果。
我为 Lucene 找到了几个解决方案:
我将如何继续并将相同的技术应用于 ElasticSearch?或者也许已经有一个解决方案可以与 ES 一起进行分数标准化?
最佳答案
据我搜索,没有办法从弹性中获得归一化的分数。您将不得不通过进行两个查询来破解它。首先是一个试验查询(最好是大小为 1,但所有属性都相同),它将为您获取 max_score
.然后您可以拍摄您的实际查询并使用functional_score
使分数正常化。通过max_score
您在参数中作为试点查询的一部分获得了 function_score
并用它来标准化每个分数。引用:This article snippet
关于elasticsearch - 如何标准化 ElasticSearch 分数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36545489/