Harry: Fuzzy Logic: "ungefähre Suche" oder: Wie wird Hase zu Hose!

Beitrag lesen

Holladiewaldfee,

suchst du:
http://www.selfphp.net/selfphp/funktionsreferenz/string_funktionen/soundex.html?

Naja ... ich finde da
http://www.php.net/soundex
nützlicher, schon allein wegen der Kommentare.

Aber bringen wird ihm das nicht viel, weil er ja eigentlich ein datenbankseitiges Problem hat. Natürlich kann er jedesmal den gesamten Satz aus der Datenbank auslesen und dann stückweise mit soundex() durchrattern ... was aber ab einer gewissen Größe nicht mehr wirklich performant ist.

Wenn er MySQL > 4.1 nutzen sollte (was ich irgendwie für unwahrscheinlich halte) könnte er es mit einer Konstruktion wie

SELECT id FROM tabelle WHERE schluesselwort SOUNDS LIKE 'blahr';

verwenden. Drunter (4.0 hab ich überprüft, 3.x weiß ich nicht) muß man halt

SELECT id FROM tabelle WHERE SOUNDEX(schluesselwort)=SOUNDEX('blahr');

schreiben. Auf jeden Fall hat man das Problem damit schonmal auf die Datenbank verlagert. Insgesamt glaube ich natürlich nicht, daß dieser SoundEx-Kram wirklich performant ist. Ich würde eher zu jedem Schlüsselwort den SoundEx-Wert schon in der Tabelle mitspeichern, um ihn nicht jedesmal neu berechnen zu müssen.

Natürlich kann er auch den ganzen Weg "zu Fuß" machen und einfach "Gruppen" definieren, die jeweils verschiedene Ausdrücke zusammenfassen und dann jeweils die ganzen Gruppen abfragen.

Ciao,

Harry

--
  Die ideale Zeit für Firntouren:
  http://harry.ilo.de/projekte/berge/