Suche: Meinten Sie ... ?

ZodiacXP

Erfahrenes Mitglied
Hiho.

Grade von levenshtein() gesprochen und schon möchte ich eine Funktion, die bei einer falsch geschriebenen Wörtern (ähnlich Google) folgendes ausgibt:

Meinten Sie Karotte? o.ä. ...

Leider habe und finde ich keine levenshtein.so für Win/MySQL5.0.51
Habe eine für Unix und Debian und diese in dem Ordner share abgelegt und versucht mit:
Code:
CREATE AGGREGATE FUNCTION levenshtein RETURNS STRING SONAME "levenshtein.so"
zu laden aber ohne Erfolg. Fehler 1124 - er kann sie nicht laden.

Weis jemand wo man das her kriegt oder in welcher mySQL-Version es das endlich gibt?
 
Hallo,

das hier hast du also schon ausprobiert?
http://teamarbyte.de/levenshtein.html

Neben der Levenshtein-Distanz könnte man auch den soundex nehmen (wobei der AFAIK eher für englische Wörter geeingnet ist) oder das Kölner-Verfahren:
http://de.wikipedia.org/wiki/Kölner_Verfahren
Das könnte man auch als UDF definieren:
http://www.vbarchiv.net/tipps/details.php?id=1754
http://www.assono.de/blog/d6plinks/Koelner-Phonetik-Better-than-Soundex

Du kannst dir ja selbst ein UDF bauen die auch unter Windows funktioniert...
http://codejanitor.com/wp/2007/02/10/levenshtein-distance-as-a-mysql-stored-function/
http://www.tutorials.de/forum/relationale-datenbanksysteme/267319-levenshtein-sql-abfrage.html

Gruß Tom
 
Genau die Seite (teamarbyte) habe ich aus deinem letzen (Forums-)Link genommen.
SOUNDEX ist eine Alternative. Natürlich leider englisch aber ich denke wenn man beim Soundex-Vergleich das allererste Zeichen weglässt könnte das gehen.

Interessant ist das Kölner-Verfahren - hab leider nie von gehört. Dabei bin ich ein Fan von solch ausgefallenen, einfachen aber doch effektiven Methoden.

Vielen Dank!
 
Zurück