MySQL Volltextsuche

Wer bereits über erste Erfahrungen mit der Volltextsuche z.B. unter MySQL 3 sammeln konnte, der hatte sicher die übliche Suche nach Textinhalten mit LIKE „%suchwort%“ genutzt. Bei 100.000 Datensätzen dauerte diese Art der Suche bis zu einer Sekunde.
Beispiel:SELECT * FROM tabelle WHERE text LIKE „%hallo%“;

Das Anlegen eines Index auf das Feld text nützt hier wenig, da durch den Einsatz des %-Zeichens zu beiden Seiten des Suchbegriffs kein Index benutzt wird. MySQL muß jedesmal die komplette Tabelle nach dem Suchwort scannen.

Zudem bringt die LIKE Suchabfrage für manche Zwecke keine optimalen Suchergebnisse: Wenn jemand nach „Welt“ sucht, kommen auch Suchergebnisse die das Wort als Bestandteil enthalten zum Vorschein also „Parallelwelt“, „Weltenbummler“ etc.

Eine bessere Textsuche versprach die Implementation der Volltextsuche in MySQL 3. Diese war jedoch noch nicht ausgereift, da der Aufbau des Index extrem lange dauert.

„MySQL Volltextsuche“ vollständig lesen