|
Excite Search: Indizierte Volltextsuche |
Eine einfache
Methode zur Volltextsuche haben wir mit dem CGI-Script "seach.pl"
bereits kennengelernt. Dieses Programm eignet sich aber nur für eine geringe
Anzahl von zu durchsuchenden Dokumenten, da alle in Frage kommenden Dateien
bei jeder Suchanfrage vom Server gelesen und ausgewertet werden müssen.
Bei häufigen Suchanfragen und großen Datenmengen wird die Suche langsam,
außerdem wird der Server unnötig belastet. In diesem Fall sollte man auf
eine Volltextsuche zurückgreifen, die auf Basis eines Volltext-Indexes arbeitet,
wie beispielsweise Excite-Search.
Die Excite Search Engine der Firma Architext ist eine der großen internetweit operierenden Suchmaschinen. Ähnlich wie DECs Altavista bedient sich Excite eines "Spiders", das ist ein Programm, welches automatisch Informationen im World Wide Web sammelt. Die Suchmaschine indiziert diese Informationen, und über Excite kann man dann nach Informationen im Volltext suchen. Von der Excite Suchmaschine gibt es eine spezielle Version, "Excite for Web Servers" (EWS), die auf allen virtuellen Servern VERIO Deutschlands bereits vorinstalliert sind. Mit EWS können Sie völlig problemlos eine professionelle Volltextsuche über sämtliche Informationen auf Ihrem Server oder auch nur einem Teil davon, anbieten. Excite führt dabei nicht nur eine einfachen Suche nach Schlüsselwörtern durch, vielmehr ist eine komplexe Suchstrategie implementiert, die "concept-based" genannt wird. Dabei werden diverse Methoden eingesetzt, die Suche zu verbessern. Ziel ist es, relevante Dokumente auch zu finden, wenn das gesuchte Schlüsselwort gar nicht darin vorkommt. Dabei wird unter anderem mit Wörterbüchern gearbeitet, die auf Basis von statistischen Methoden automatisch erstellt werden. Da der Großteil der Texte im Internet nach wie vor in englischer Sprache abgefaßt sind, dürfte diese Technik allerdings vor allem bei englischsprachigen Texten befriedigend funktionieren. Aber auch so ist Excite ein leistungsfähiges Werkzeug, mit welchem Sie Ihre Site um eine sehr nützliche Funktion erweitern können. Damit befinden Sie sich in bester Gesellschaft auch die Web-Sites von Forbes, JavaSoft, Chevron, Sega und United Airlines setzen auf Excite-Search. Und das beste dabei ist, daß die Implementation aufgrund der gut vorbereiteten Administrator-Funktionen sehr einfach ist. Alle notwendigen CGI-Scripts und HTML-Seiten werden anhand Ihrer Angaben automatisch generiert. Im folgenden werden wir Schritt für Schritt einen Volltextindex erstellen. Als Beispiel dient eine kleine Sammlung mit knapp hundert vegetarischen Rezepten, die wir im Verzeichnis "rezepte" auf der Domain beispiel.de gespeichert haben. Die Administrationsseite für Excite for Web Servers erreichen Sie auf Ihrer Domain unter der Adresse: http://www.IhrName.com/cgi-bin/secure/AT-admin Dabei ersetzen Sie "www.IhrName.com" durch Ihre eigene Domain. Für unsere Beispieldomain lautet die URL demnach: http://www.beispiel.de/cgi-bin/secure/AT-admin Sie können die Dateien oder Verzeichnisse spezifizieren, die in die Suche einbezogen werden sollen, indem Sie sogenannte "document collections" anlegen. Es ist auch möglich, auf einer Domain mehrere collections anzulegen und für jede der collections eine unabhängige Volltextsuche zu implementieren.
1. Schritt: Neue "document collection" generieren. Beim ersten Aufruf der Administrator-Seite existiert noch keine "document collection". Sie müssen daher zunächst einmal mit "New collection" eine Dokumentensammlung definieren.
Der vollständige Name der document collection setzt sich zusammen aus Ihrem Benutzernamen und den hier erfolgten Eingaben. In unserem Beispiel haben wir "rezepte" eingegeben, der Name der collection ist also: beispirezepte Auf der folgenden Seite wird die neue collection konfiguriert. 2. Schritt: Festlegen, welche Dateien/Verzeichnisse in die neue collection aufgenommen werden sollen. Die Dateien, die in die Dokumenten-Sammlung aufgenommen werden sollen, können Sie entweder über die Angabe von Verzeichnissen oder einer expliziten Dateiliste bestimmen.
In unserem Beispiel heißt das Root-Verzeichnis des virtuellen Servers von www.beispiel.de: /u/web/beispi/ Statt "beispi" müssen Sie hier den Usernamen für Ihre Domain angeben. Da für unser Beispiel nur die Rezepttexte, die sich im Verzeichnis "rezepte" befinden. durchsucht werden sollen, tragen wir hier ein: /u/web/beispi/rezepte Die unter dem angegebenen Verzeichnis liegenden Subdirectories werden ebenfalls in die Suche mit einbezogen. In den folgenden Auswahlboxen kreuzen Sie an, ob HTML-Seiten und/oder reine Textseiten durchsucht werden sollen. Wenn die Option HTML-Files ausgewählt ist, werden alle Dateien mit der Endung .HTM* als HTML-Dateien interpretiert und ausgewertet. Das heißt, die Tags und Attribute werden nicht mit indiziert. Außerdem können Sie eine IndexFilter-Datei aktivieren. In einer solchen Datei können Sie noch genauere Vorgaben für die Einbeziehung oder den Ausschluß bestimmter Dateien oder Verzeichnisse machen. In den meisten Fällen wird dies nicht nötig sein, daher verweisen wir hier auf die Original-Dokumentation, die über die Administrator-Seite zugänglich ist. Nach dem Eintrag dieser Informationen drückt man den "Save"-Schalter um die Konfiguration zu sichern. Bestätigung der erfolgreichen Konfiguration Auf dem darauf folgenden Bildschirm wird die erfolgreiche Konfiguration bestätigt. Als nächstes kann man den Index berechnen lassen oder die Suchseite generieren.
Der Druck auf den "Index"-Schalter lädt eine Seite mit weiteren Informationen. Um den eigentlichen Prozeß der Indizierung zu starten. müssen Sie hier noch einmal den "Index"-Schalter drücken. 3. Schritt: Index generieren.
Antwortseite des Index-Generators Je nach Datenmenge kann der Vorgang eine gewisse Zeit in Anspruch nehmen. Wenn wir in diesem Zusammenhang von "Datenmengen" reden, dann sind einige hundert Megabyte an reinen HTML- oder Textdateien gemeint. Bei 300 Megabyte dauert das Indizieren unter Umständen schon eine Stunde. Aber selbst wenn Sie eine komplette Website mit 20 oder 50 Megabyte indizieren, dauert der Vorgang meist nur einige Sekunden bis nur wenige Minuten, zumal im Normalfall nur ein geringerer Teil wirklich Textinformationen sind, den Rest machen vor allem Grafiken und sonstige Hilfsdateien aus, die ja nicht indiziert werden müssen. Auf der nun folgenden Seite haben Sie die Möglichkeit Log-Dateien (View Log) einzusehen, um den Fortgang der Indizierung zu überprüfen. Außerdem können Sie den Vorgang abbrechen (Stop Indexing). Darüberhinaus gibt es auch hier wieder die Option, eine Suchseite zu generieren (Generate). Nun ist es auch Zeit dieses zu tun.
4. Schritt: Such- und Ergebnisseiten generieren. Hier haben Sie nun die Möglichkeit eine Abfrageseite für die Suche vollautomatisch erstellen zu lassen.
Daraufhin wird eine Standard-HTML-Seite generiert und in Ihrem Root-Verzeichnis gespeichert. Sie können die Seite später in ein Verzeichnis Ihrer Wahl kopieren. Dies ist die Seite, von welcher Ihre Besucher die Volltextsuche ausführen können. Auch die Seite mit den Suchergebnissen wird automatisch vorbereitet. Bestätigungsmeldung für das Generieren der Such- und der Ergebnisseite Die nächste Seite gibt Aufschluß darüber, wie die Such-Seite heißt und wo sie zu finden ist. Auf der Seite mit der Bestätigungsmeldung finden Sie einen Link zur Suchseite, damit können Sie das neue Feature sofort ausprobieren. Die Standard-Suchseite von Excite Die Seite mit den Suchergebnissen Nachträgliche Änderungen und Aktualisierungen Eine einmal erstellte "document collection" wird oben in der Administrator-Seite (www.IhrName.com/cgi-bin/secure/AT-admin) aufgeführt. Der Doppelklick auf einen Eintrag lädt eine Seite, in welcher sämtliche Optionen zur Aktualisierung bestehender collections zur Auswahl stehen. Administration bestehender "document collections" Wenn Sie Änderungen in dem indizierten Bereich Ihrer Datei durchgeführt haben, geht das zunächst einmal spurlos an dem Index vorbei. Das heißt, die aktuellen Änderungen werden bei der Suche nicht berücksichtigt. In diesem Fall muß der Index auf dem Wege der kompletten Neuindizierung aktualisiert werden (Schalter: Index). Zuvor können Sie wenn nötig die Konfiguration für den Indizierungsvorgang ändern (Configuration). Außerdem kann man einen kompletten Index, zusammen mit den Hilfsdateien komplett löschen (Remove). Anpassen der Such- und der Ergebnisseite Nun werden Sie sicher den Wunsch haben, die Such- und Ergebnisseite an das Layout der restlichen Seiten Ihrer Site anzupassen. Auch daran haben die Macher von Excite for Web Servers gedacht. Für die Suchseite gibt es zwei Möglichkeiten. Zum einen können Sie die generierte Seite nachträglich anpassen, umbenennen und in das richtige Verzeichnis kopieren. Für die zweite Methode bereiten Sie eine HTML-Seite vor, die dem Generator als "Schablone" (template) dient. Es handelt sich dabei um eine normale HTML-Datei, die Sie nach eigenen Wünschen frei gestalten können. Wichtig ist lediglich, daß die Zeile ###ARCHITEXT### enthalten sein muß. An diese Stelle wird das Abfrageformular von Excite eingefügt. Hier ein ganz einfaches Beispiel für eine solche Schablone:
Für die Ergebnisseite legen Sie analog dazu auch eine Schablonen-Datei an. Das ist übrigens die einzig praktikable Methode zur Gestaltung der Ergebnisseite, da diese nicht wie die Suchseite als HTML-Formular vorliegt, sondern von einem CGI-Script generiert wird. Änderungen in diesem CGI-Script sind theoretisch natürlich auch möglich, aber das ist kompliziert und vor allem fehleranfällig. Rufen Sie nun die Administratorseite für die betreffende "document collection" auf und wählen "Generate", um auf das Formular zu gelangen, in welchem das Generieren der Abfrageseite vorbereitet wird. Tragen Sie nun in der "Search Page Generator"-Seite unter "Enter name of a query template file" bzw. "query result template file" die Namen Ihrer vorbereiteten HTML-Dateien ein. Das Programm generiert nun anhand dieser Vorlagen die neuen Formulare. Das Suchfomular wird wieder zunächst im Root-Verzeichnis gespeichert. Kopieren Sie es in ein Verzeichnis Ihrer Wahl und referenzieren es als Suchformular. |
|
|