Gibt es eine Möglichkeit, MySQL zu sortieren, indem man sagt, wie nahe es einem Suchbegriff ist?Sortieren nach Soundex (oder ähnlich) `Nähe`
Ich versuche Felder zu bestellen, die Benutzereingaben von Städtenamen enthalten. Variationen und Rechtschreibfehler existieren, und ich möchte die "nächsten" Übereinstimmungen an der Spitze zeigen.
Ich weiß, dass Soundex möglicherweise nicht der beste Algorithmus dafür ist, aber wenn es (oder eine andere Methode) vernünftig erfolgreich sein könnte - könnte es sich lohnen, die Sortierung von der Datenbank durchführen zu lassen.
Ich schaute Levenshtein, wenn ich die Sortierung im Code tun musste. Es scheint so, als würde es sich bei der Implementierung des * korrekten * Algorithmus in der Datenbank oder bei der Verwendung des gleichen Algorithmus, der auf der Code-Seite der Dinge bereits verfügbar ist, wägen. –
Wenn Sie es als eine MySql-Funktion (Link in Antwort) implementieren, dann sollten Sie in der Lage sein, es in Ihrem SQL zu tun. Etwas wie: SELECT CityName, Leven (CityName, compString) VON Stadt ORDER BY Leven (CityName, compString) –
@Rinzler: Ja, dieser Beitrag ist fast zwei Jahre alt. Links verschwinden. Auf jeden Fall habe ich ein weiteres Beispiel einer MySql-Implementierung gefunden und neu verknüpft. –