Apaches Solr 搜索引擎是否提供近似字符串匹配,例如通过 Levenshtein 算法?
我正在寻找一种按姓氏查找客户的方法。但我不能保证名称的正确性。如何配置 Solr 以便即使我搜索“Levenstein”也能找到“Levenshtein”这个人?
Apaches Solr 搜索引擎是否提供近似字符串匹配,例如通过 Levenshtein 算法?
我正在寻找一种按姓氏查找客户的方法。但我不能保证名称的正确性。如何配置 Solr 以便即使我搜索“Levenstein”也能找到“Levenshtein”这个人?
通常这是通过 SpellCheckComponent 完成的,默认情况下它在内部使用Lucene SpellChecker,它实现了 Levenshtein。
wiki很好地解释了它是如何工作的,如何配置它以及可用的选项,这里没有必要重复。
或者您可以只使用Lucene 的模糊搜索运算符。
另一种选择是使用语音过滤器而不是 Levenshtein。
Mauricio 的回答很好,我唯一的“便宜”补充就是将 ~ 字符附加到您想要在进入 solr 的途中模糊匹配的所有术语。如果您使用默认设置,这将为您提供模糊匹配。