Der Martin: Suchmaschine in DB

Beitrag lesen

Hallo Rolf,

Die nächste Frage ist: Wenn der Anwender mehr als ein Suchfeld ausfüllt, ist das dann eine UND- oder eine ODER-Suche?

oder beides? Professionelle Such-Engines wie etwa Google listen bei mehreren Suchbegriffen die Treffer zuerst, die möglichst viele der Suchbegriffe enthalten, und weiter hinten diejenigen, die nur noch einen Teil der Suchbegriffe enthalten.

Und die dritte Frage: Warum überhaupt mehrere Suchfelder? Google sucht ja auch nicht über Suchfelder, sondern es sucht Freitext. Eine Freitextsuche ist natürlich nicht so einfach gebaut, und sie sollte auch nicht 1:1 auf die Datenbank gehen, sondern auf einen Suchindex, also eine dafür optimierte Tabelle.

Trotzdem sollte die Suche immer noch spezifisch genug sein. Wenn ich nach einer Postleitzahl suche, interessiert es mich nicht, dass dieselbe Ziffernfolge auch in einigen Telefonnummern vorkommt. Daher sind mehrere Suchfelder vermutlich schon sinnvoll - oder Keywords im Suchausdruck, wie es die SELFHTML-Suche ja auch macht.

Du hast in deinem Beispiel-SQL OR geschrieben, also soll es wohl eine ODER Verknüpfung werden.

Vielleicht war das auch nur ein willkürliches Beispiel. Ich bin eigentlich gewöhnt, dass die Ergebnismenge kleiner wird, je mehr Kriterien ich angebe - das riecht eher nach einer UND-Verknüpfung.
Sowohl UND als auch ODER kann sinnvoll sein - je nach Anwendungsfall.

$sql = "SELECT ID, NAME, STRASSE, POPO FROM Tabelle1 WHERE ";

POPO?? 😀

Live long and pros healthy,
 Martin

--
Ich stamme aus Ironien, einem Land am sarkastischen Ozean.