2009-11-17 83 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