Frage

Gibt es eine Möglichkeit MySQL, um Ergebnisse zu haben, wie nahe sie ‚Klang‘ zu einem Suchwort?

Ich versuche, um Felder, die Benutzereingabe von Städtenamen enthalten. Variationen und Rechtschreibfehler vorhanden sind, und ich möchte die ‚nächsten‘ Begegnungen an der Spitze zeigen.

Ich weiß soundex nicht der beste Algorithmus für diese sein kann, aber wenn es (oder ein anderes Verfahren) erfolgreich sinnvoll sein könnte - kann es sich lohnen, die sein die von der Datenbank erfolgt die Sortierung

.
War es hilfreich?

Lösung

Soundex ist nicht gut für diese Art der Sache, weil verschiedene Worte, die Sie die gleichen Soundex Ergebnisse geben kann und wird daher Art willkürlich. Eine bessere Lösung hierfür ist die Levenshein bearbeiten Entfernung Algorithmus und Sie können es als eine Funktion in Ihrer Datenbank umsetzen können: Link auf Levensheint impl. wie MySql gespeicherte Funktion !!!

Sie können auch diese Besuche SO Link . Es enthält einen SQL-Server (T-SQL-spezifisch) Implementierung des Algorithmus, aber es sollte in dem Hafen möglich sein. Die Mechanik des Algorithmus ist recht einfach nur ein 2D-Array benötigte und Schleifen über String.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top