Ich kann nicht das ganze PHP-Script ändern, nur weil ich mit einer Funktion nicht klarkomme. Ich bin mir sicher, dass meine Aufgaben ganz leicht mit Mysql bewältigt werden kann. Nur habe ich noch leider keine ausreichenden Kenntnisse. #7 Kennt denn keiner eine Lösung?
Sie befinden sich: Home > Forum > Mysql > Volltextsuche mit... Wenn Sie einen Beitrag in diesem Forum schreiben möchten, so ist es erforderlich, dass Sie ein Benutzerkonto registrieren. In diesen Beitrag wurden 3 Nachrichten geschrieben. Volltextsuche mit MySQL realisieren Nachricht wurde verfasst am 19. 03. 2012 um 09:04 Uhr von Tiele80 Kann mir bitte jemand verraten mit welchem Befehl ich bei MySQL eine Volltextsuche durchführen lassen kann? Gibt es überhaupt so eine Funktion bzw. so einen Befehl oder muss man einen Umweg gehen? Nachricht wurde verfasst am 19. 2012 um 09:20 Uhr von Genius Das ist natürlich möglich. Für was benötigst du diese Volltextsuche überhaupt? Hier jedenfalls mal der Befehl: mysql> SELECT * FROM articles WHERE MATCH (title, body) AGAINST ('database'); Das kannst du natürlich auch in ein PHP Script einbauen. Nachricht wurde verfasst am 20. Php mysql volltextsuche script.aculo. 2012 um 09:01 Uhr von Paule Wieso nicht einfach nur ein normales SELECT? Wie performance-lastig ist so eine Volltextsuche denn im Endeffekt?
Ausserdem wurden des Namens wegen auch Max und Moritz gefunden, von denen aber keiner Schreiner ist. Was können wir also tun, um die Qualität der Abfrage zu verbessern? Wir müssen einen anderen Suchtyp nutzen. AGAINST ('max schreiner' IN BOOLEAN MODE); Führen wir die Abfrage so aus, erhalten wir exakt das selbe Ergebnis. Wir müssen das ganze also noch verfeinern. MySql die Volltextsuche in PHP-String mit contaning Schlüsselwörter - Hervorragende Bibliothek. Dafür sind die oben bereits erwähnten Operatoren da. Diese können einfach an die Wörter im Suchstring angehängt werden. Wird ein + an ein Wort angehängt muss es zwingend vorkommen, bei einem – darf es nicht vorkommen. Es gibt noch viele andere Operatoren, aber für unser Beispiel soll dies reichen. Wir benötigen hier nur den + Operator. So sieht nun unsere neue Abfrage aus: AGAINST ('+max +schreiner' IN BOOLEAN MODE); Als Ergebnis erhalten wir: Genau das Ergebnis, welches wir uns wünschen. Wir müssen also in Zukunft nur noch daran denken, den einzelnen Wörtern in unserem Suchstring + Operatoren anzuhängen und fortan werden nur noch die Ergebnisse zurück geliefert, in denen genau diese Wörter enthalten sind.