Homepagebau
Dateiversion:
diesen Beitrag diskutieren,
ergänzen, eine Frage stellen

Suchmaschine

Schwierigkeit: für Fortgeschrittene

 
Skript-Paket downloadenletztes Update:version: 16.05.2005
Vorgänger dieses Skripts wurde vorgestellt in "PC-Magazin" 10/2003

für Download hier klicken
ZIP-Archiv
162 kbyte

Hinweis: Um die automatische Indexierung nutzen zu können, sollten sie Java VM von Sun installieren. Dabei handelt es sich um ein kostenloses Produkt, dass sie unter http://java.sun.com herunterladen können.

 

Suchmaschine ausprobieren


...jetzt testen

Dieses ist das vordefinierte Layout der Suchmaschine. Auf dieser Seite können sie die verschiedenen Funktionen in Ruhe ausprobieren.
Beim Start wird der Suchindex für unsere Seite erstellt. Dies kann einen Moment dauern. Bitte haben sie Geduld.

Kompatibilität: Diese Suchmaschine wird von folgenden Browsern unterstützt: Internet Explorer ab Version 5.0, Netscape Navigator ab Version 4.0, Opera ab Version 6.0.

 

Beschreibung:

Mit diesem Skript können sie ihre Besucher den Inhalt ihrer Homepage (und auch Links zu anderen Homepages) durchsuchen lassen. Eine umfangreiche Beschreibung und Installationsanleitung liegen dem Skript bei.

Features:

Screenshot Suchindex erstellen
Abb.: Suchindex erstellen

Die Dateien ihrer Webseite müssen nicht von Hand eingegeben werden. Es liegt ein Tool bei, dass ihnen diese Arbeit abnimmt. Die Steuerung erfolgt für Windows oder Linux bequem über eine grafische Oberfläche.

Screenshot Installationsanleitung
Abb.: Installationsanleitung

Eine umfangreiche Installationsanleitung liegt dem Skript bei. Eine Schritt-für-Schritt Anleitung und Antworten auf wichtige Fragen sind ebenfalls enthalten.

Screenshot Internet Explorer 6.0
Abb.: Suchmaschine im IE 6.0

Das Aussehen der Suchmaschine können sie selbst festlegen und an ihre Website anpassen. Die Bedienung ist sehr einfach. Ein intelligentes Suchmuster sorgt gleichzeitig dafür, dass auch verwandte Begriffe gefunden werden, aber auch nur das, was wirklich Sinn macht. Zum Beispiel wenn sie nach "Neu" suchen findet das Programm auch Begriffe wie "Neues" oder "Neuigkeiten", liefert ihnen aber keinen Unsinn wie "Neubau".

Die Theorie

Dieser theoretische Artikel beschreibt den prinzipiellen Aufbau von Suchmaschinen. Er dient lediglich dem näheren Verständnis und richtet sich an fortgeschrittene Programmierer und Interessierte. Für die Installation dieser Suchmaschine müssen sie ihn also nicht gelesen haben.

Warum JavaScript:

Eigentlich verwendet man JavaScript nicht für Suchmaschinen. Warum nicht? JavaScript ist eine "clientseitige" Sprache. Das heißt, der Rechner des Besuchers führt das Skript aus und nicht das Netz. Um suchen zu können wird im Hintergrund also erst die komplette Datenbank aus dem Netz geladen. Das kann bei wirklich großen Datenmengen einige Zeit in Anspruch nehmen. Deswegen werden JavaScript-Suchmaschinen häufig für Offline-Suche (z.Bsp. auf CDs) verwendet, wo die Übertragungsrate keine Rolle spielt. Solange aber der Umfang der Einträge sich in Grenzen hält ist es auch kein Problem diese Suchmaschine auf einer Homepage einzusetzen. Außerdem funktioniert sie auf JEDER Homepage - anders als CGI oder PHP-Varianten, die nur auf ganz bestimmten (meist teuer bezahlten) Servern ihren Dienst verrichten.

Wie funktioniert eine Suchmaschine:

Zunächst muss man 3 Dinge unterscheiden: die Datenbank, den Suchprozess und die Ausgabe der Suchergebnisse.

Prinzipiell arbeitet eine Suchmaschine so, dass sie in einer Datenbank, welche Informationen über die gespeicherten Seiten enthält nach Einträgen sucht, welche die geforderten Suchbegriffe enthalten. Eine solche Datenbank ist dabei so aufgebaut, dass jedem Suchbegriff eine Reihe von Seiten zugeordnet ist, auf welche dieser Begriff passt. Normalerweise gibt es bei wirklich professionellen Lösungen außerdem eine Art "Wörterbuch". Das heißt, jedes Wort ist in seiner Stammform gespeichert. Eine wirklich gute Suchmaschine versteht also einen Suchbegriff auch dann, wenn statt Einzahl die Mehrzahl des Begriffes verwendet wird oder ähnliche Abwandlungen.

Der vollständige Aufbau einer Datenbank sieht so aus, dass jeder Webseite eine Referenznummer zugeordnet ist. Jedem Suchbegriff sind eine Reihe von Webseiten (Referenznummern) zugeordnet. Und bei professionellen Lösungen sind die Suchbegriffe selbst als Referenznummer mit einem Wörterbuch verknüpft.

Um den Suchprozess zu beschleunigen sind intern diese Suchbegriffe gewichtet: das heißt, sie werden (z.Bsp.) alphabetisch geordnet. Auf diese Weise muss für eine Suche nicht das gesamte Feld der vorhandenen Daten durchforstet werden. Bei jedem Suchvorgang wird eine Trefferliste erstellt, die anschließend noch weiter bearbeitet werden kann.

Das, was der Besucher von alle dem mitbekommt ist aber nur die Oberfläche: eine Eingabemaske und eine hübsch gestylte Ausgabe. Dies besorgen einige sehr einfach gestrickte Skripte: die aus der internen Trefferliste eine ansprechende HTML-Seite produzieren.

Dieses Skript:

Bei unserer Suchmaschine gibt es einige oberflächliche Abweichungen zu den großen Verwandten. Die Datenbank ordnet zunächst jeder Seite eine Reihe von Suchbegriffen zu. Eigentlich eine katastrophale Verschwendung von Speicherplatz, aber dies ist typisch für Offline-Suchmaschinen und bitter notwendig, da jemand der diese Daten von Hand editiert niemals den Überblick über Indizes und Referenznummern haben wird, so wie das eine Maschine kann. Unter der Haube werden diese Daten aber wieder in genau die beschriebene optimale Form umgewandelt, so dass zumindest keine Einbußen bei der Geschwindigkeit der Suchmaschine zu erwarten sind.

Intern steckt also eine leistungsfähige Datenstruktur unter der Haube. In diesem Fall ein Binärbaum, sowie einige Funktionen für die Ausgabe der Trefferseite und die Darstellung des Suchformulars. Und natürlich einige Tricks, die ich ihnen aber hier nicht verraten werde.

Ich wünsche ihnen viel Spaß beim Ausprobieren.
Sollten sie Fragen zum Skript haben, stehe ich ihnen gern zur Verfügung.