我有一个SOLR查询,它支持完全匹配和部分匹配。查询术语添加了适当的增强因子,其中精确匹配与部分匹配相比具有更高的提升。
但是,在部分匹配中,我们也希望以这样的方式定义增强因子
具有完整单词的部分匹配优先于作为单词的一部分出现的部分匹配。
例如:如果用户搜索字符串“Annie Hall”,则文档包含以下值:“ Tanner Hall ”,“ Hall Pass ”等。应该具有更高的权重(优先级),比如:“万圣节”,“”拯救万圣节的狗“。它们都是部分匹配但是”霍尔“在“Tanner Hall”和“Hall Pass”中单独出现,因此他们应该得分更高。
请帮忙。
问候,
答案 0 :(得分:1)
我假设您正在使用ngram过滤器进行查询,因为它可以匹配完整匹配和部分匹配。
如果是这样,您可以始终拥有两个字段。
e.g。对于dismax - text^2 text_ngram
会导致完美匹配具有更高的提升然后部分匹配
请记住,如果存在完全匹配,则会有部分匹配,因此它是累积提升。