Geistiger Hohlraum: Suchmaschinen mit PHP - Wie?

Beitrag lesen

Also eine einzige Datei mit anderen Worten?

Das hängt alles vom Umfang des zu durchsuchenden Projekts ab. Bei nur wenigen Seiten würde ich versuchen, bei jeder Suchanfrage alle Dateien direkt zu durchsuchen, weil damit gewährleistet ist, dass die Suche immer auf die aktuellen Daten zurückgreift und man außerdem relativ leicht nach Wortketten (suche "Dies ist ein Satz") fahnden kann.

Es ist aber gut möglich, dass dieses Vorgehen schon bei ein oder zwei Dutzend HTML-Seiten einige Sekunden länger dauert (wenn auch keine Minuten), dann solltest Du mit einem Wortindex arbeiten.
PHP bietet Schnittstellen für indizierte Datenverwaltung an, http://de.php.net/manual/de/ref.dba.php ist so ein Fall. Diese Bibliotheken sind sehr gut und werden teilweise auch von "richtigen" Datenbanken als Basis benutzt (MySQL greift zum Beispiel auch auf Sleepy Cats DB zurück), das ist also trotz der Miniaturschnittstelle kein mal eben hingehakter Müll.

Durchforste in regelmäßigen Abständen (zum Beispiel einmal am Tag) oder besser noch nach jeder Änderung alle Seiten und sortiere die enthaltenen Wörter in eine solche Datei ein, das Wort als Schlüssel, als Daten die URLs der dazu gehörenden Seiten. Bei einer Suchanfrage brauchst Du dann nur noch auf diese Datenbank zuzugreifen und solltest in Sekundenbruchteilen ein Ergebnis erhalten.

Die Suche nach Sätzen ist dann allerdings knifflig, aber vielleicht ist das auch gar nicht so dringend nötig.