Dieter Raber: Suche programmieren

Beitrag lesen

Hallo flista,

Idealerweise benutzt du zum Suchen am besten eine Datenbank, es geht aber auch im Prinzip mit Textdateien. Bei Datenbanken ist es einfach, du legst eine Tabelle an, die mindestens ein Feld fuer die URL der Seite mit dem gesuchten Inhalt hat und eines mit dem relevanten Inhalt ebenjener Seite. In einer Textdatei kannst Du im Prinzip was Aehnliches machen, aber Du siehst an der Stelle schon, dass das kompliziert wird. Im Endeffekt ist eine Datenbank meiner Meinung nach die vernuenftigste Loesung, es muss ja nicht MySQL, SQLite reicht da voellig aus. Es gibt hier aber auch Leute, die sich ausgiebig mit Textdateien als DB-Ersatz beschaeftigt haben, suche einfach mal nach 'Flatfiles'.
Du brauchst jetzt zwei Sachen, naemlich einmal einen Weg um, wann immer du neue Inhalte veroeffentlicht hast, den Suchindex erstellt. Falls Deine Daten ohnehin schon aus einer Datenbank kommen, kann man das direkt mit SQL (mit etwas PHP drumherum, wenn man mag). Falls nicht, liest man halt alle entsprechen Dateien nacheinander ein und speichert URL und Inhalt.
Das zweite, was du brauchst, ist eine Funktion, die die eigentliche Suche macht. Im Prinzip wird also der Suchbegriff aus dem Textfeld erstmal aufgearbeitet, dann per SQL an die DB weitergeleitet und die gibt die passenden URLs zurueck. Was das Aufarbeiten des Suchbegriffs anbetrifft, so solltest du zumindest bestimmte Zeichenkombinationen daraus loeschen, um zu vermeiden, dass jemand Unfug mit deiner Datenbank treibt. Mal ganz einfach gesagt, wuerde ich mindestens alles loeschen was nicht Buchstabe oder Zahl ist, das ist schonmal ein guter Anfang.

Gruß,

Dieter