Axel Richter: SUCHWORT_anderesWort mit match() im mySQL suchen

Beitrag lesen

Hallo,

Ich bin gerade dabei meine eigene Forums-Suche weitgehend Sonderzeichenresistent zu machen und jetzt dies: nimm an, Du suchst das Wort SUCHWORT. In einem Posting kommt es so vor: SUCHWORT_andereswort. Wenn ich das nun in mySQL so suche

select * from tabelle
where match(suchspalte) against ('SUCHWORT')

dann wird es nicht gefunden,
Wie kann ich also SUCHWORT_andereswort finden ohne standardmäßig mit RLIKE oder LIKE zu suchen?

Das kommt auf die MySQL-Version an. Seit 4.0.1 geht:

SELECT suchspalte FROM tabelle
WHERE MATCH(suchspalte) AGAINST ('SUCHWORT*' IN BOOLEAN MODE);

http://www.mysql.com/doc/en/Fulltext_Search.html

Warum SELECT * schlecht ist, weißt Du hoffentlich?

viele Grüße

Axel