Philipp Hasenfratz: logische Verbindungen! bloss wie?

Beitrag lesen

Halihallo kOorj

ich hab mir mal so ne kleine Suche gebastelt und die würde ich jetzt liebend gerne um ein feature erweitern. Und zwar soll der user seine suchstrings kombinieren können, ganz a la Google + co. mit "AND", "OR", "+", "-", etc. Nur wie geht das bitte möglichst ohne schier endlose Verschachtelungen von wegen if(preg_matach[...]) oder so. Google half mir ledier nicht weiter, da ich gar nicht richtig weiß wonach ich suchen soll.

Vorab: Das sind logische Operatoren und diese werden von Google nicht
unterstützt. Zudem hat if (preg_match()) mehr mit PHP denn einer Datenbank zu tun.

1. Frage: Was willst du nun? - Alles über PHP, oder über die
   Datenbank umsetzen?

1.1 Falls letzteres: Welche Datenbank steht dir zur Verfügung?
       Aha, MySQL wie ich eben gesehen habe. Fulltext-Index!
       Glaube mir, es selber (gut) umzusetzen ist kein Kinderspiel...

2. Einfach wird das nicht... Eine Bool'sche Suche zu implementieren
   ist nicht einfach, sogar sehr schwer, wenn sie auch in kurzer
   Zeit ( => gute Performance) Ergebnisse ausspucken soll.

Es gibt mehrere Möglichkeiten eine derartige Suche umzusetzen, aber
zuerst will ich eine Antwort von dir hören, bis ich mir die Finger
wund tippe :-)

Kurz vorab:
http://dev.mysql.com/doc/mysql/en/Fulltext_Boolean.html
    MySQL bietet dies von Haus aus, PostgreSQL IMHO auch.

Viele Grüsse

Philipp