【问题标题】:Solr: Boosting documents with full word during partial matchSolr:在部分匹配期间使用全字提升文档
【发布时间】:2013-01-29 08:56:27
【问题描述】:

我有一个支持完全匹配和部分匹配的 SOLR 查询。查询词添加了适当的提升因子,其中完全匹配比部分匹配具有更高的提升。

但是,在部分匹配中,我们也希望以这样的方式定义增强因子:

具有完整单词的部分匹配比作为单词的一部分出现的部分匹配具有更高的优先级。

例如:如果用户搜索字符串“Annie Hall”,则文档包含以下值:“Tanner Hall”、“Hall Pass”等。与诸如“Halloween”、“拯救万圣节的狗”之类的值相比,应该具有更高的权重(优先级)。它们都是部分匹配,但“Hall”在“Tanner Hall”和“Hall Pass”中作为单独的词出现,因此它们应该有更高的分数。

请帮忙。

问候,

【问题讨论】:

  • 如何形成部分匹配和完全匹配的查询?你的字段定义是什么??

标签: solr solr-boost


【解决方案1】:

我假设您正在使用 ngram 过滤器进行查询,因为它能够匹配全部和部分匹配项。

如果是这样,您总是可以有两个字段。

  • 具有更高提升的非 Ngramed 字段 - 文本
  • 正常提升的 Ngramed 字段 - text_ngram

例如对于 dismax - text^2 text_ngram 将导致完美匹配比部分匹配具有更高的提升。
请记住,如果有完全匹配,也会有部分匹配,因此它是累积提升。

【讨论】:

    猜你喜欢
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-05
    • 2020-10-05
    • 1970-01-01
    • 2015-04-07
    • 1970-01-01
    相关资源
    最近更新 更多