Mailinglisten-Archive |
Andreas Kuester wrote: > > Hallo mysql Meister > > ich habe hier mal ne hoffentlich einfache Frage: > ich versuche die Soundex Funktion von mysql zu benutzen, um aehnliche Namen > in einer Datenbank zu finden. Das mach ich in der art : > > select bezeichnung from objekt where > substring(soundex(bezeichnung),1,4)=substring(soundex('Suchname'),1,4); > > damit sollte ich ja die ersten 4 relevanten soundexstring felder vergleichen. > Das geht auch so weit ganz prima. Allerdings ist mir nich nachvollziehbar, > nach welchen Kriterien hier mysql vorgeht, da mitunter total anderst > klingende Namen gefunden werden und manchmal etwas naheliegendes verpasst > wird. > Wenn der Vergleich laut Soundex nun aber nicht nahe genug ist ... reicht es > dann evtl. wieder nach fast gleichen soundexstrings zu suchen ? > Un din welchen Schritten geht man da am besten vor ? > oder gibt es eine ganz andere Moeglichkeit das Problem direkt ueber die > Datenbank anzugehen. > Die Geschwindigkeit obiger Anfrage ist liefert auch bei großen > Datenbestaenden sehr schnelle Ergebnisse, so dass ich ungern die soundex > Funktion über die C-Api selber nachbilden mag. > > Danke für alle Tips > > A. Kuester Hallo Andreas In der englischen mailingliste gab es letztes Jahr einige Diskussionen ueber SOUNDEX() und 'Suche nach Aehnlichkeit'. Dabei meinte einer, dass fuer englische Texte die Metaphon Funktion besser sei. Vielleicht willst Du sie als UDF verwenden: http://www.progressive-comp.com/Lists/?l=mysql&m=88543412007555&w=2 Tschau Christian
php::bar PHP Wiki - Listenarchive