Hallo Tomate,
erst mal danke für deinen Mut, einfach so in dieses noch sehr leere Forum zu posten! :-)
Auf die search.php, bzw. auf das gesamte Thema "wie kann ich meine Internetseite durchsuchbar machen" wird leider nicht eingegangen.
Das ist ja auch ein Fass ohne Boden. Denn es spielen da diverse Faktoren mit rein:
- Umfang der zu durchsuchenden Inhalte (10 Webseiten, 1000 Webseiten, 100000 Webseiten)?
- Speicherung der Seiteninhalte (statisches HTML, Inhalte in Dateien, Inhalte in Datenbank)?
- Intelligenz der Suche (Relevanz, Erkennung unterschiedlicher Schreibweisen oder Synonyme usw.)?
- Beanspruchung der Suche (10 User am Tag, 1000 User, 100000 User)?
Ich vermute jetzt aber mal eher, dass sich deine Frage auf ein eher kleineres Webprojekt bezieht, das vielleicht mit PHP, Templates und Seiteninhalten in Textdateien arbeitet, so wie in dem linkweb-Beispiel im Buch. In diesem Fall gibt es kein CMS oder so was, sondern du erstellst die Textdateien mit den Seiteninhalten einfach in einem normalen Texteditor. Du hast mal angenommen 50 Seiten, also 50 Textdateien mit HTML-formatierten Inhalten, und diese Anzahl wird sich im Laufe der nächsten ein, zwei Jahre wahrscheinlich höchstens verdoppeln. Du hast vielleicht 10 Kilobyte Netto-Text (HTML-Tags abgezogen) in jeder Textdatei.
In diesem Fall bewegt sich der Gesamt-Netto-Inhalt des Webprojekts für absehbare Zeit zwischen einem halben und einem Megabyte. Peanuts also, genau betrachtet. Solange also nicht gerade 100 User gleichzeitig suchen und du keine wahnsinnigen Ansprüche an die Intelligenz einer Suche hast, ist in diesem Fall eine simple Volltextsuche ohne Datenbank und Index durchaus zu empfehlen.
Allerdings würde ich dabei empfehlen, die zu durchsuchenden Daten in einer einzigen Datei zu sammeln. Das heißt, du könntest einfach in einer Datei z.B. namens search.txt nochmals alle Seiteninhalte notieren. Nachteil: bei jeder Änderung von Seiteninhalten musst du an zwei Stellen editieren. Ist bei 50 Seiten und angenommenen 10 Änderungen im Monat aber keine unzumutbare Arbeit.
Wenn du keine Relevanz oder solche Features für deine Suche benötigst, solltest du in der Volltextsuchdatei alle HTML-Tags entfernen (diverse Texteditoren bieten ja eine "Strip-all-Tags"-Funktion dazu an). Die Datei benötigt jedoch Markierungen in einheitlicher Syntax, welche Inhalte zu welcher Webseite gehören. Beispiel:
~~~ /?name=irgendeinseitenname
Das in einer eigenen Zeile notiert, und unterhalb davon der Seiteninhalt der Seite mit dem Namen irgendeinseitenname. Nun brauchst du nur noch ein PHP-Script, halt so eine search.php, die aufgerufen wird, wenn der User im Suchfeld was eingibt. Das Script öffnet die search.txt, liest diese komplett ein, sucht darin nach dem vom User eingegebenen Ausdruck und gibt eine HTML-formatierte Liste mit Links zu allen gefundenen Seiten aus, in denen der Suchausdruck vorkommt.
Das ist jetzt natürlich keine fertige Lösung, sondern nur ein Denkanstoß. Konkretere Fragen kann man ja bei Bedarf diskutieren.
viele Grüße
Stefan Münz