Ich verwende zZ similar_text, um eine Zeichenkette gegen eine Liste ~ 50.000 zu vergleichen, die funktioniert, obwohl wegen der Zahl Vergleiche es sehr langsam ist. Es dauert ungefähr 11 Minuten, um ~ 500 eindeutige Zeichenfolgen zu vergleichen.Beschleunigung levenshtein/ähnliche_text in PHP
Vor dem Ausführen überprüfe ich die Datenbanken, um zu sehen, ob es in der Vergangenheit verarbeitet wurde, so dass es immer nach dem ersten Durchlauf fast augenblicklich ist.
Ich bin sicher, mit levenshtein wäre etwas schneller und die LevenshteinDistance-Funktion jemand in der Anleitung geschrieben sieht interessant aus. Fehle ich etwas, das das deutlich schneller machen könnte?
'O (N ** 3)' wobei N die Länge der längsten Zeichenkette für 'same_text' ist ... autsch. – jason
Wie groß ist die durchschnittliche Länge der Saiten? Aaandd ... wie viel von den Daten in der Zeichenfolge ist tatsächlich relevant für die Suche? d. h. Wie viel kostet nur Geld? – jason
Die durchschnittliche Länge beträgt etwa 20 Zeichen und ein hoher Prozentsatz der Daten ist relevant, vielleicht 85-95%. Ich denke, wenn ich sie benutze, sind sie etwas übertrieben und ich könnte wahrscheinlich nur eine Volltextsuche in MySQL verwenden, gefolgt von ein paar Überprüfungen. – DanCake