2009-11-17 87 views

回答

16

通常,这是通过SpellCheckComponent完成的,默认情况下内部使用Lucene SpellChecker,它实现了Levenshtein。

wiki真的很好地解释了它是如何工作的,如何配置它以及可用的选项,在这里没有重复的地方。可以使用。

另一种选择是使用phonetic filter而不是Levenshtein。

+0

Mauricio,你可以检查模糊搜索运算符和语音过滤器的两个链接?两者似乎都被打破了。谢谢! – reto 2012-07-10 08:13:45

3

Mauricio给出了很好的答案,我唯一的“便宜”补充就是将〜字符附加到所有你想模糊匹配的术语上。如果你正在使用默认设置,这会给你模糊匹配。

+0

@MattMcKnight:我想在solr中做同样的距离测量,但是**〜**在我的工作不正常。我尝试使用**?q = term:“apple”〜2 **任何帮助 – iNikkz 2014-12-16 12:20:00

+0

@iNikkz If你把引号放在苹果周围,我认为它变成了一个短语查询,所以〜2意味着邻近搜索,而不是编辑距离。尝试删除引号 – MattMcKnight 2014-12-16 22:48:39

+0

@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