Solr:在部分匹配期间提升完整单词的文档

时间:2013-01-29 08:56:28

标签: solr solr-boost

我有一个SOLR查询,它支持完全匹配和部分匹配。查询术语添加了适当的增强因子,其中精确匹配与部分匹配相比具有更高的提升。

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

具有完整单词的部分匹配优先于作为单词的一部分出现的部分匹配。

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

请帮忙。

问候,

1 个答案:

答案 0 :(得分:1)

我假设您正在使用ngram过滤器进行查询,因为它可以匹配完整匹配和部分匹配。

如果是这样,您可以始终拥有两个字段。

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

e.g。对于dismax - text^2 text_ngram会导致完美匹配具有更高的提升然后部分匹配 请记住,如果存在完全匹配,则会有部分匹配,因此它是累积提升。