Wie konfiguriere ich SOLR, um den Levenshtein Approximate String Matching zu verwenden?

8

Bietet die Apaches Solr-Suchmaschine ungefähre Zeichenfolgenübereinstimmungen, z. über Levenshtein Algorithmus?

Ich suche nach einer Möglichkeit, Kunden nach Nachnamen zu finden. Ich kann jedoch die Richtigkeit der Namen nicht garantieren. Wie kann ich SOLR so konfigurieren, dass es die Person findet? "Levenshtein" auch wenn ich nach "Levenstein" suche?

    
prinzdezibel 17.11.2009, 22:24
quelle

2 Antworten

16

Normalerweise geschieht dies mit der SpellCheckComponent , die intern das Lucene SpellChecker standardmäßig, die Levenshtein implementiert.

Das Wiki erklärt wirklich sehr gut, wie es funktioniert, wie es konfiguriert wird und welche Optionen verfügbar sind es hier.

Oder Sie könnten einfach Lucenes unscharfen Suchoperator verwenden.

Eine andere Option ist die Verwendung eines phonetischen filtere anstelle von Levenshtein.

    
Mauricio Scheffer 18.11.2009 04:26
quelle
3

Großartige Antwort von Mauricio, mein einziger "cheapo" Zusatz ist es, das ~ Zeichen an alle Begriffe anzuhängen, die auf dem Weg zu solr fuzzy match sein sollen. Wenn Sie die Standardeinstellung verwenden, erhalten Sie eine Fuzzy-Übereinstimmung.

    
MattMcKnight 02.12.2009 15:07
quelle