Apaches Solr搜索引擎是否提供近似字符串匹配,例如通过Levenshtein算法?
我正在寻找一种通过姓氏查找客户的方法。但我不能保证名字的正确性。如何配置Solr以便找到该人 “Levenshtein”,即使我搜索“Levenstein”?
答案 0 :(得分:16)
通常,这是通过SpellCheckComponent完成的,Lucene SpellChecker默认情况下内部使用wiki,实现了Levenshtein。
Lucene's fuzzy search operator确实很好地解释了它是如何工作的,如何配置它以及可用的选项,这里不再重复。
或者你可以使用phonetic filter。
另一种选择是使用{{3}}代替Levenshtein。
答案 1 :(得分:3)
Mauricio给出了很好的答案,我唯一的“cheapo”补充就是将〜字符附加到你想要在solr的路上模糊匹配的所有术语。如果您使用默认设置,这将为您提供模糊匹配。