2009-11-17 5 views

Antwort

16

In der Regel wird dies mit der SpellCheckComponent gemacht, die standardmäßig die Lucene SpellChecker verwendet, die Levenshtein implementiert.

Die wiki erklärt wirklich sehr gut, wie es funktioniert, wie es zu konfigurieren ist und welche Optionen verfügbar sind, kein Punkt es hier zu wiederholen.

Oder Sie könnten einfach Lucene's fuzzy search operator verwenden.

Eine andere Option ist die Verwendung eines phonetic filter anstelle von Levenshtein.

+0

Mauricio, könnten Sie die zwei Links zum Fuzzy-Suchoperator und den phonetischen Filter überprüfen? beide scheinen gebrochen zu sein. Vielen Dank! – reto

3

Große Antwort von Mauricio, mein einziger "cheapo" Zusatz ist, nur das ~ Zeichen an alle Ausdrücke anzuhängen, die Sie auf dem Weg zu solr fuzzy übereinstimmen möchten. Wenn Sie die Standardeinstellung verwenden, erhalten Sie eine Fuzzy-Übereinstimmung.

+0

@MattMcKnight: Ich möchte die gleiche Distanz messen in solr aber ** ~ ** funktioniert nicht in meiner .. Ich versuchte mit **? Q = Begriff: "Apple" ~ 2 ** Jede Hilfe – iNikkz

+0

@iNikkz Wenn Sie setzen Zitate um Apple, ich denke, es wird eine Phrase-Abfrage, so dass die ~ 2 Nähe-Suche bedeutet, anstatt Entfernung zu bearbeiten. Versuchen Sie, die Anführungszeichen fallen – MattMcKnight

+0

@MattMcKnight: Ich versuchte mit dem Löschen der Anführungszeichen, aber es gibt zu viele Ergebnisse, weil ich phonetische Filterung sowohl auf Index und Abfrage verwendet habe. Ich habe meine Frage hier eingefügt - [http://stackoverflow.com/questions/27484326/getting-most-likely-documents-of-the-query-using-phonetic-filter-in-solr]. Helfen Sie mir bitte? – iNikkz

Verwandte Themen