我在我的Solr实例中启用了词干,我假设为了在不禁用词干的情况下执行精确的单词搜索,它就像将单词放入引号一样简单。然而,情况似乎并非如此?
有没有一种简单的方法可以达到这个目的?
答案 0 :(得分:9)
有一种简单的方法,如果您所指的是“slop”(必需的相似性)作为模糊搜索的一部分(请参阅此处的Lucene Query Syntax)。
例如,如果我执行此搜索:
q=field_name:determine
我看到包含“确定”,“确定”,“已确定”等的结果。如果我然后修改查询:
q=field_name:determine~1
我只看到包含“确定”一词的结果。这是因为我指定了所需的1的相似性,这意味着“完全匹配”。我可以在0到1之间指定此值。
答案 1 :(得分:3)
你可以做的另一件事是索引相同的文本,而不是在一个字段中出现,而在另一个字段中出现词干。提升非梗阻场和这应该更喜欢确切版本的单词到词干版本。当然,您也可以编写自己的查询解析器,仅将引用的短语定向到非词干字段。