Philipp Hasenfratz: Sql Suchfunktionen

Beitrag lesen

Halihallo Markus

ich habe mit ASP eine Webseite zum Suchen in deiner DB programmiert. Nun bin ich auch soweit fertig, nur dass ich mir noch so um die Suchalgorithmen gedanken mache. Ich würde gerne Wissen, wie es z.B. Google hinbekommt, dass man ganze Sätze zur Suche eingibt und diese dann zerstückelt werden. Geht das mit Sql?

Mit SQL? - Nein. Mit MySQL-SQL, bedingt. Informiere dich über den
Volltext-Index und die Volltextsuche. Vielleicht stellt sich heraus,
dass dies die bessere Lösung ist, als deine eigene.

Wie das Google macht? - Keine Ahnung, ich kenne den Sourcecode
nicht... Aber wo ist denn das Problem? - Überlege dir, was ein Wort
ist - eine Ansammlung von Buchstaben [a-zA-Z], ggf. kommen noch
einige Sonderzeichen und Ziffern dazu, falls deine Suche diese
unterstützen soll. Alles was du tun musst, ist den String an allen
Stellen zu "brechen", wo ein Zeichen auftritt, welches nicht in der
"Wortdefinition" vorkommt.

Also: Satz in Worte auflösen (z.B. bei ' ' trennen, bzw. alles ausser
[a-zA-Z0-9]), jedes Wort im SQL-Query über "spalte ENTHÄLT '$wort'
AND" einfügen, so werden alle Dokumente gefunden, welche alle Wörter
der Suchanfrage enthalten. ENTHÄLT durch einen sinnvollen,
unterstützten und möglichst optimierten Operator ersetzen.

Viele Grüsse

Philipp

--
M$: Patches - don't.