我有这个要求:如果查询文本与特定字段值(标题字段)完全匹配,则结果必须是第一个或至少是提升的。 所以我需要通过完全匹配来提升结果。
我的解决方案是将标题创建为未标记的字段,因此它只会完全匹配,并使用edismax查询来提升标题。
有没有其他方法? 如何索引未加标记的字段?那么没有空格上的标记?
答案 0 :(得分:0)
使用KeywordTokenizer - 这会将字段索引为单个值,但仍允许您附加过滤器 - 例如在存储令牌之前将文本小写。
如果您不想执行小写,您可以use a string
(StrField) field - 字符串字段只会在值完全相同时给出匹配。
这通常是你要做的事情,比其他命中提供更大的提升 - 你可以使用47° 59′ 59″ N 7° 50′ 59″ E
参数dismax(你可能已经是)给出这个列表。使用48° 00′ N 7° 51′ E
将内容编入具有不同定义的单独字段。