【问题标题】:Limit number of result in SOLR by score通过分数限制 SOLR 中的结果数量
【发布时间】:2015-12-23 00:10:54
【问题描述】:

我的目录有很多产品,所以有时通过一些查询会有很多搜索结果。 Solr 有自己的字段“score”,我们的客户希望通过限制“score”值来限制搜索结果。例如,如果我们将“限制得分值”设置为 500,那么搜索结果中应该只有得分 > 500 的产品。(我知道这是一种不好的做法)。 我在上面尝试了很多谷歌,尝试编辑 edismax 等。

所以我的问题是,我该怎么做?

【问题讨论】:

  • 永远不要那样做! :D 像 fq=score:[500 TO *] 这样的 fq 子句不起作用?
  • 不幸的是,它不起作用。 "msg": "未定义字段:\"score\""
  • 你在 Solr admin 中试过了吗?
  • 为什么不限制行数?
  • 我猜客户希望这样做是为了减少在某些查询中检索到的不相关结果的数量。因此,您可能需要对查询进行一些相关性调整。

标签: java solr


【解决方案1】:

这不起作用,因为分数不一致。它们仅在单个查询中有意义,并且没有良好的绝对表示。它们甚至在 SolrCloud 中形成单个集合的不同核心之间也不一致。您将无法找到有意义的数字来使用。

您需要回到业务并询问它们在业务术语中的含义,然后看看 Solr 如何回答这个问题。在某些情况下,这甚至可能意味着不同的索引策略。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-30
    • 1970-01-01
    • 2011-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多