Glengamoi (Forum) · AspHeute · .NET Heute (RSS-Suche) · AspxFiles (Wiki) · .NET Blogs

Arbeiten mit Index Server Catalogs

Geschrieben von: Christoph Wille
Kategorie: Server

This printed page brought to you by AlphaSierraPapa

Wenn eine Website aus mehrheitlich statischen Seiten besteht - so wie AspHeute - dann bietet es sich an, den mit IIS gelieferten Index Server zu verwenden, um die Site für Besucher suchbar zu machen.

Um die Suche zu ermöglichen, muß man einige Setuphürden nehmen, die leider nach wie vor schlecht dokumentiert sind. Standardmäßig indiziert der Index Server nämlich nur die Default Web Site - damit man in der IIS Hilfe suchen kann. Wenn man weitere Websites anlegt, werden diese nicht automatisch in den Indexkorpus (Catalog) aufgenommen - eine Suche mit den Standardsuchformularen verläuft erfolglos.

Zwar könnte man dem Standardcatalog die Verzeichnisse der eigenen Website hinzufügen, allerdings handelt man sich dadurch Scoping Probleme ein - wie suche ich nur über die Verzeichnisse meiner Website? Und außerdem werden virtuelle Verzeichnisse nicht automatisch mitaufgenommen - man müßte sie händisch eintragen. Daher ist es eleganter, sich pro Website einen eigenen Catalog zu generieren, und nur über diesen zu suchen.

Erstellen eines neuen Index Server Catalogs

Um einen neuen Index Server Catalog namens AspHeute zu erstellen, müssen Sie folgende Schritte durchführen:

  1. Im Start Menü wählen Sie Programs / Administrative Tools / Computer Management (für NT4: es gibt es ein eigenes Index Server Management Tool)
  2. Gehen Sie in der Baumansicht zu Services and Applications / Indexing Service. Sie sehen eine Liste der bereits angelegten Catalogs. Auf Windows 2000 sind dies System (der Festplattenindex) und Web (Default Website).
    Computer Management
  3. Um nun einen neuen Catalog anzulegen, rechts-klicken Sie auf Indexing Service und wählen New / Catalog vom Kontextmenü aus.
  4. In der Add Catalog Dialogbox benennen Sie den Catalog AspHeute. Geben Sie an, wo Sie den Catalog speichern möchten, zB: d:\Catalog.
    Add Catalog
  5. Sie erhalten die Meldung, daß dieser Catalog solange offline (=nicht verfügbar) bleibt, bis der Index Service neu gestartet wird. Um den Index Service neu zu starten, wählen Sie zuerst Stop aus dem Action Menü, danach Start. Der Katalog ist nun online.

Welche Inhalte indiziert dieser Catalog? Im Moment noch gar nichts - man muß ihm zuerst eine Website zuweisen.

Zuweisen der zu indizierenden Website

Wie bereits erwähnt, muß man einem Catalog mitteilen, welche Inhalte er beeinhalten soll. Der erste Schritt für einen Website Catalog ist, die entsprechende Website als Indizierungsziel einzutragen:

  1. In der Computer Management Console, selektieren Sie den AspHeute Katalog.
  2. Rechts-klicken Sie und wählen Properties aus dem Kontextmenü.
  3. Wechseln Sie zum Tracking Tab (Reiter). Hier können Sie den WWW Server auswählen (siehe Screenshot). Im Normalfall kann man die Standardeinstellung Inherit Settings akzeptieren - dadurch werden virtuelle Verzeichnisse, die auf anderen Servern liegen, automatisch mitindiziert.
    Catalog Properties
  4. Durch einen Klick auf OK werden die neuen Einstellungen übernommen.

Mit dieser einen Änderung hat man bereits einen funktionierenden Catalog, allerdings gibt es 2 Einstellungen, die man immer im Hinterkopf behalten sollte:

Diese finden sich im Generation Tab der Catalog Eigenschaften, und beeinflussen welche Dateitypen indiziert werden, und ob von der jeweiligen Datei eine Kurzzusammenfassung generiert werden soll. Möglicherweise sollte man hier auf Inherit Settings verzichten, besonders wenn man bei einem ISP hostet.

Generation Properties

Die Falle - Websiteeigenschaften

Ich habe es allzuoft erlebt, daß Administratoren die bisher beschriebenen Schritte richtig durchgeführt haben, dann allerdings an einer Kleinigkeit - einer einzelnen Websiteeigenschaft - fast gescheitert wären:

Index this resource setting

Der "Leger" ist die Eigenschaft Index this resource. Wenn diese abgewählt ist, dann werden Dokumente nicht indiziert, auch wenn ein Catalog existiert! Also diese Eigenschaft immer kontrollieren - und sie auch zum eigenen Vorteil einsetzen, um bestimmte Verzeichnisse oder Dateien vom Index explizit auszuschließen.

Den Catalog verwenden

Man kann den Catalog direkt in der Computer Management Console verwenden, indem man den Zweig des Catalogs in der linken Baumansicht expandiert und Query the Catalog auswählt. Man erhält ein Abfrageformular, das völlig identisch zu den einfachen Beispielabfrageformularen funktioniert.

query form

Für die Abfrage mit IDQ Dateien (mein persönlicher Favorit), ist die Änderung eigentlich sehr, sehr einfach: Man muß in die IDQ Datei nur die Zeile

CiCatalog=Catalogpfad
einfügen, und schon laufen die Abfragen nicht mehr über den Standardcatalog, sondern über den neu angelegten. Übrigens: Catalogpfad ist jener Pfad, den man beim Erstellen des Catalogs angegeben hat, nicht der Pfad zum Unterverzeichnis catalog.wci (dies ist ein beliebter Fehler!).

Auch in ASP-basierten Formularen ist nicht sehr viel umzustellen, man muß nur den Namen des Catalogs in die Catalog Eigenschaft speichern und dann die Anfrage ausführen:

Set Q = Server.CreateObject("ixsso.Query")
Q.Query = strSearchString
Q.Catalog = "AspHeute" 
Q.SortBy = "rank[d]"
Q.Columns = "DocTitle, vpath, filename, size, write, characterization, rank"
Q.MaxRecords = RankBase 
Set RS = Q.CreateRecordSet("nonsequential")

Schlußbemerkung

Weitere Artikel werden sich dann mit der Erstellung von interessanten Suchformularen widmen. Um aber sofort starten zu können und nicht das Rad neu erfinden zu müssen, kann man Beispiele zu IDQ und ASP Abfrageformularen im Verzeichnis drive:\WINNT\help\iisHelp\iis\misc finden.

This printed page brought to you by AlphaSierraPapa

Verwandte Artikel

Objektbasierte Index Server Suche
http:/www.aspheute.com/artikel/20010403.htm
PDF Dokumente suchbar machen
http:/www.aspheute.com/artikel/20010914.htm

 

©2000-2006 AspHeute.com
Alle Rechte vorbehalten. Der Inhalt dieser Seiten ist urheberrechtlich geschützt.
Eine Übernahme von Texten (auch nur auszugsweise) oder Graphiken bedarf unserer schriftlichen Zustimmung.