Hallo an alle,
für ein aktuelles Projekt möchte ich eine einfache Volltextsuche realisieren.
Nun stoß ich auf die Volltext-Suchfunktionen von MySQL, und dachte mir: Das muss es sein!
Soweit, sogut - ich habe also das erste Beispiel von dort ausgeführt. Nun:
Warum wird bei der Suche mit folgendem Query kein Resultat ausgegeben?
SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('mysql');
Eigentlich müssen alle 6 Datensätze gefunden werden - werden aber nicht. Eine Suche nach 'mysqld' funktioniert (1 Datensatz), aber nicht nach 'mysql'. Und: 'mysql' befindet sich nicht in den stopwords.
Was ist da los? Sehe ich den Wald vor lauter Bäumen nicht?
Und: Wie realisiere ich eine UND-Verknüpfung?
Eine Suche mit
SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('tutorial database');
liefert mir drei Resultate, nämlich die, wo 'tutorial' ODER 'database' vorkommen. Ich möchte aber die haben, wo 'tutorial' UND 'database' gefunden werden.
Die boolsche Suche habe ich eben gefunden - ist das meine Lösung? Oder geht es einfacher?
Grüße
Marc Reichelt || http://www.marcreichelt.de/
Linux is like a wigwam - no windows, no gates and an Apache inside!
Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)