如何配置SOLR以使用Levenshtein近似字符串匹配?
Apaches Solr搜索引擎是否提供近似字符串匹配,例如通过Levenshtein算法?如何配置SOLR以使用Levenshtein近似字符串匹配?
我正在寻找一种方法来查找姓氏的客户。但我无法保证名称的正确性。即使我搜索“Levenstein”,我如何配置SOLR以使其能够找到人 “Levenshtein”?
通常,这是通过SpellCheckComponent完成的,默认情况下内部使用Lucene SpellChecker,它实现了Levenshtein。
wiki真的很好地解释了它是如何工作的,如何配置它以及可用的选项,在这里没有重复的地方。可以使用。
另一种选择是使用phonetic filter而不是Levenshtein。
Mauricio给出了很好的答案,我唯一的“便宜”补充就是将〜字符附加到所有你想模糊匹配的术语上。如果你正在使用默认设置,这会给你模糊匹配。
@MattMcKnight:我想在solr中做同样的距离测量,但是**〜**在我的工作不正常。我尝试使用**?q = term:“apple”〜2 **任何帮助 – iNikkz 2014-12-16 12:20:00
@iNikkz If你把引号放在苹果周围,我认为它变成了一个短语查询,所以〜2意味着邻近搜索,而不是编辑距离。尝试删除引号 – MattMcKnight 2014-12-16 22:48:39
@MattMcKnight:我尝试删除引号,但它提供了太多的结果,因为我已经对索引和查询都使用了语音过滤。我在这里粘贴了我的问题 - [http://stackoverflow.com/questions/27484326/getting-most-likely-documents-of-the-query-using-phonetic-filter-in-solr]。你能帮我吗? – iNikkz 2014-12-17 05:20:52
Mauricio,你可以检查模糊搜索运算符和语音过滤器的两个链接?两者似乎都被打破了。谢谢! – reto 2012-07-10 08:13:45