Solr完全匹配场增强

时间:2018-06-04 09:05:58

标签: solr lucene

我有这个要求:如果查询文本与特定字段值(标题字段)完全匹配,则结果必须是第一个或至少是提升的。 所以我需要通过完全匹配来提升结果。

我的解决方案是将标题创建为未标记的字段,因此它只会完全匹配,并使用edismax查询来提升标题。

有没有其他方法? 如何索引未加标记的字段?那么没有空格上的标记?

1 个答案:

答案 0 :(得分:0)

使用KeywordTokenizer - 这会将字段索引为单个值,但仍允许您附加过滤器 - 例如在存储令牌之前将文本小写。

如果您不想执行小写,您可以use a string (StrField) field - 字符串字段只会在值完全相同时给出匹配。

这通常是你要做的事情,比其他命中提供更大的提升 - 你可以使用47° 59′ 59″ N 7° 50′ 59″ E参数dismax(你可能已经是)给出这个列表。使用48° 00′ N 7° 51′ E将内容编入具有不同定义的单独字段。

相关问题