2016-04-06 5 views
1

Vor Version 4.x haben Sie die Ähnlichkeit für eine unscharfe Suche mit einem Gleitkommawert zwischen 0,1 und 1,0 festgelegt. Spätere Versionen verwenden einen Wert zwischen 0 und 2 als Bearbeitungsentfernungen.Lucene 3.0.3 - Wie korreliert die Fuzzy-Suchähnlichkeit mit späteren Versionen die Distanz? (z. B. 4.x)

Wie sind diese Werte korreliert? Ich kann nirgendwo in der Dokumentation finden, was ein tatsächlicher Floatbereich von 0,1 bis 1,0 bedeutet.

Ich verwende lucene.net 3.0.3

Antwort

2

Version 4.0 weiter nur Damerau-Levenshtein edit distance verwenden.

Version 3.0.3 vergleicht stattdessen den Bearbeitungsabstand mit der Länge des Ausdrucks. Wenn length(term) * minSimilarity >= edit distance (wobei minSimilarity das Float-Argument ist, auf das Sie sich beziehen), wird der Begriff als Übereinstimmung betrachtet.

Also, wenn Sie es auf 0.5 setzen, könnte ein Begriff der Länge 4 einen Bearbeitungsabstand von bis zu 2 haben, während ein Begriff der Länge 6 einen Abstand von 3 haben und immer noch eine Übereinstimmung sein kann.