Volltextsuche - Ähnliche Phrasen werden nicht gefunden

illaX

Erfahrenes Mitglied
Hi Jungs,

ich bin gerade Frischling in der Volltextsuche und habe mir das Manual von MySQL durchgelesen.
Nach einigen Tests lief es dann auch ohne Syntaxfehler...
Ich durchsuche eine Datenbank nach Namen. Zum Beispiel sucht der Benutzer nach einer Mitarbeiterin "Maike". Nun sollte, soweit ich es verstanden haben auch die Mitarbeiter "Meike" oder "Maik" gefunden werden. Dies ist bei mir leider nicht der Fall. Die Volltextsuche liefert bei mir weniger Ergebnisse als LIKE.

Mein gekürzter SQL command:
SELECT *, MATCH (name, surname) AGAINST ("Maike") FROM user_profile

Er liefert nur Datensätze, die im Feld name "Maike" stehen haben. Maik, Meike oder anderes wird nicht gefunden. Ich habe es auch schon mit anderen typischen Fällen, wie Schmidt und Co. ausprobiert. Hat nichts funktioniert.
Habe auch schon diese Forum durchwühlt und die selbe Frage gefunden, diese wurde aber nicht beantwortet.
Danke für jede Hilfe oder "schubser" in die richtige Richtung.
 
Danke für jede Hilfe oder "schubser" in die richtige Richtung.

- Was du verwenden willst ist eine "phontische" Suche. Dazu gibt es die Funktion SOUNDEX, welche dir die Strings in die entsprechenden Spundex-Wert wandelt.

Code:
SELECT name
FROM personen
WHERE SOUNDEX(name) = SOUNDEX(suchbegriff)

- Das Problem ist natürlich, dass damit keine Indexe mehr verwendet werden
- ...und im weiteren die Soundex Funktion auf die Englische Sprache zugeschnitten ist

Ich kann dir ein Beispiel liefern, wie wir es in Oracle gelöst haben, wenn du interesse hast (Ist zu gross zum posten)

Gruss
 
Hi,

ich hatte es in dem Artikel über blinde Abfrageerweiterung so verstanden. Vielleicht schnall ich das Beispiel auch nicht richtig.

@dbwizard: Danke für den Hinweis. Habe dank dir eine gute Lösung mit der Kölner Phonetik gefunden.

Vielen Dank für Eure Hilfe.
 
Zuletzt bearbeitet:
Zurück