【问题标题】:How to normalize ElasticSearch scores?如何标准化 ElasticSearch 分数?
【发布时间】:2016-08-01 10:13:22
【问题描述】:

对于我的项目,我需要找出哪些搜索结果被认为是“好”匹配。目前,分数因查询而异,因此需要以某种方式对其进行规范化。标准化分数将允许选择高于给定阈值的结果。

我为 Lucene 找到了几个解决方案:

我将如何继续将相同的技术应用于 ElasticSearch?或者也许已经有一个解决方案可以与 ES 一起进行分数标准化?

【问题讨论】:

  • 你能在你想要标准化分数的地方显示一个查询吗?
  • 您链接到的两个解决方案都强烈建议您“不要这样做。”这是一个您可以并且应该的解决方案> 也可以直接应用于 Elasticsearch。
  • 如果您仍有问题,您可能对this answer 中的分数标准化解决方案感兴趣。
  • @Pierre-NicolasMougel 建议也看看这个答案:stackoverflow.com/a/56389964/3262646

标签: elasticsearch lucene


【解决方案1】:

据我搜索,没有办法从弹性中获得标准化分数。您将不得不通过进行两次查询来破解它。首先将是一个试点查询(最好大小为 1,但所有属性都相同),它将为您获取max_score。然后你可以拍摄你的实际查询并使用functional_score 来标准化分数。将max_score 作为参数中的试点查询的一部分传递给function_score,并使用它来标准化每个分数。参考:This article snippet

【讨论】:

    猜你喜欢
    • 2022-01-11
    • 2011-07-19
    • 2014-10-11
    • 1970-01-01
    • 2011-04-28
    • 2012-01-22
    • 1970-01-01
    • 2021-06-01
    • 1970-01-01
    相关资源
    最近更新 更多