NTT/VERIO

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.

  • Tragen Sie einen Namen für die Dokumenten-Sammlung ein und drücken "Create New Collection".

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.

  • Für die erste Methode wählen Sie "Index Using Rules" und geben in dem darunter liegenden Feld die Verzeichnisse an, die durchsucht werden sollen. Dabei müssen Sie das Verzeichnis unter Verwendung des Systempfades 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.

  • Drücken Sie den "Index"-Schalter.

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.

  • Drücken Sie auch hier "Index" um den Indizierungsvorgang zu starten.

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.

  • Drücken Sie also "Generate".

4. Schritt: Such- und Ergebnisseiten generieren.

Hier haben Sie nun die Möglichkeit eine Abfrageseite für die Suche vollautomatisch erstellen zu lassen.

  • Geben Sie einfach einen erklärenden Text in das mehrzeilige Feld ein und drücken "Generate".

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:

<HTML>
<HEAD>
<TITLE>Rezepte: Volltextsuche</TITLE>
</HEAD>
<BODY>
<H1>Vegetarische Rezepte</H1>
<H2>Volltextsuche</H2>
Geben Sie einen Suchbegriff ein: <P>
###ARCHITEXT###
</BODY>
</HTML>

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.

[Home]

Kostenlose Hotline (innerhalb D) Mo.-Fr. von 8:00 bis 22:00 Uhr
Infohotline: 0 800 - 837 46 33
Techn. Support: 0 800 - 999 78 77
Fax: 0 800 - 999 73 78 · internationale Rufnummern
Email: info@verio.de