, Johann Schmitz

  1. Tabelle anlegen. Diese muss als Type MyISAM haben; InnoDB funktioniert nicht
  2. Index vom Typ FULLTEXT über die Spalten anlegen, die von der Volltextsuche profitieren sollen. Wenn mehrere Spalten in einer Abfrage verwendet werden sollen, dann müssen diese in einem Index sein (also nicht pro Spalten einen Index anlegen). Sonst funktioniert die Abfrage nur über jeweils eine Spalte.
  3. Tabelle füllen.
  4. Abfrage starten:

    SELECT * FROM search_index s WHERE MATCH (title, content) AGAINST ('searchphrase');

Weiterhin empfiehlt es sich, den Parameter ft_min_word_len = 3 in der my.cnf zu setzen, um eine minimale Suchwortlänge von 3 Zeichen zu haben. Danach mittels REPAIR TABLE table_name QUICK; den Index der betroffenden Tabellen neu erzeugen.