Arbeiten mit Index Server Catalogs
Geschrieben von: Christoph Wille 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 CatalogsUm einen neuen Index Server Catalog namens AspHeute zu erstellen, müssen Sie folgende Schritte durchführen:
Welche Inhalte indiziert dieser Catalog? Im Moment noch gar nichts - man muß ihm zuerst eine Website zuweisen. Zuweisen der zu indizierenden WebsiteWie 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:
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. Die Falle - WebsiteeigenschaftenIch 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: 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 verwendenMan 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. 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=Catalogpfadeinfü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ßbemerkungWeitere 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. Verwandte Artikel
Objektbasierte Index Server Suche Wenn Sie jetzt Fragen haben...Wenn Sie Fragen rund um die in diesem Artikel vorgestellte Technologie haben, dann schauen Sie einfach bei uns in den Community Foren der deutschen .NET Community vorbei. Die Teilnehmer helfen Ihnen gerne, wenn Sie sich zur im Artikel vorgestellten Technologie weiterbilden möchten. Haben Sie Fragen die sich direkt auf den Inhalt des Artikels beziehen, dann schreiben Sie dem Autor! Unsere Autoren freuen sich über Feedback zu ihren Artikeln. Ein einfacher Klick auf die Autor kontaktieren Schaltfläche (weiter unten) und schon haben Sie ein für diesen Artikel personalisiertes Anfrageformular.
Und zu guter Letzt möchten wir Sie bitten, den Artikel zu bewerten. Damit helfen Sie uns, die Qualität der Artikel zu verbessern - und anderen Lesern bei der Auswahl der Artikel, die sie lesen sollten.
©2000-2006 AspHeute.com |