Lucene-Handbuch deutsch
Transcription
Lucene-Handbuch deutsch
LuceneConnectorManual_de.book Page 1 Tuesday, May 16, 2006 4:51 PM Livelink WCM Server Search Server Connector für Lucene-Handbuch Dieses Handbuch beschreibt die Konzepte und Verwaltung von Lucene-Suchservern. Sie erhalten Informationen zu folgenden Themen: • technische Grundlagen von LuceneSuchservern • Verwalten von Lucene-Suchservern im Admin-Client • Index- und Query-System von LuceneSuchservern einschließlich Programmierbeispielen • Abfragesyntax von Lucene LuceneConnectorManual_de.book Page 2 Tuesday, May 16, 2006 4:51 PM Copyright 2006 Open Text Corporation Das Copyright an diesen Unterlagen und der dazugehörigen Software gehört ohne Einschränkungen der Open Text Corporation. Diese Unterlagen und die dazugehörige Software dürfen ohne die ausdrückliche, schriftliche Genehmigung der Open Text Corporation weder ganz noch teilweise kopiert werden. Die Open Text Corporation ist Eigentümer der Warenzeichen Open Text, ’Great Minds Working Together’, Livelink, MeetingZone u.a.; diese Liste ist nicht vollständig. Andere in der Dokumentation erwähnte Warenzeichen sind Eigentum des jeweiligen Unternehmens und werden nur zum Zweck der Identifizierung der Produkte und Unternehmen verwendet. Alle Rechte vorbehalten. Für die in diesem Dokument beschriebene Software der Open Text Corporation gelten bestimmte Gewährleistungen und Einschränkungen. Informationen zu diesen Gewährleistungen und Einschränkungen erhalten Sie in dem Lizenzvertrag, der zwischen dem Lizenznehmer und der Open Text Corporation geschlossen wurde. Kontaktadresse: Unternehmenshauptsitz Open Text Corporation 275 Frank Tompa Drive, Waterloo, Ontario N2L 0A1 Kanada Telefon: +1 519 888-7111 Wenn Sie Abonnent des Customer Assistance Program sind oder weitere Informationen zum Kundendienstprogramm wünschen, wenden Sie sich an den Kundendienst von Open Text Corporation unter [email protected] oder per Telefon unter +1 (800) 540-7292 oder +1 (519) 888-9933. Unser Kundendienst ist Montag-Freitag von 8:30 Uhr bis 20:00 Uhr (EST) erreichbar. Wenn Sie zu dieser Dokumentation Anmerkungen haben oder Vorschläge machen möchten, senden Sie eine E-Mail-Nachricht an [email protected]. Weitere Informationen zu den Produkten und Dienstleistungen der Open Text Corporation finden Sie auf unserer Homepage unter http://www.opentext.com. © 2006 IXOS SOFTWARE AG Werner-v.-Siemens-Ring 20 85630 Grasbrunn, Deutschland Tel.: +49 (89) 4629-0 Fax: +49 (89) 4629-1199 E-Mail: [email protected] Internet: http://www.ixos.com Alle Rechte vorbehalten. Einschließlich solche, die die Reproduktion, das Kopieren oder eine andere Verwendung oder Übermittlung der Inhalte dieses Dokumentes oder Teile davon betreffen. Kein Teil dieser Publikation darf, egal in welcher Form, ohne die schriftliche LuceneConnectorManual_de.book Page 3 Tuesday, May 16, 2006 4:51 PM Zustimmung der IXOS SOFTWARE AG reproduziert, an Dritte übermittelt, unter Einsatz elektronischer Retrieval-Systeme verarbeitet, kopiert, verteilt oder für öffentliche Vorführungen verwendet werden. IXOS behält sich das Recht vor, Aktualisierungen und Änderungen der Inhalte vorzunehmen. Sämtliche Daten, die auf Bildschirmfotos (screenshots) sichtbar sind, dienen lediglich als Beispiel zur Demonstration der Software. Für den Inhalt dieser Daten übernimmt IXOS keine Gewähr. Dieses Produkt beinhaltet Software, die im Rahmen des Projekts OpenSSL für den Gebrauch im OpenSSL Toolkit (http://www.openssl.org/) bzw. die durch die Apache Software Foundation (http:// www.apache.org/) entwickelt wurde. Marken IXOS: IXOS SOFTWARE AG. SAP® , R/3® und SAP ArchiveLink® sind eingetragene Marken der SAP AG. Microsoft®, Microsoft Windows NT ® und die Namen weiterer Microsoft-Produkte sind eingetragene Marken der Microsoft Corporation. Acrobat Reader Copyright © 1987 Adobe Systems Incorporated. Alle Rechte vorbehalten. Adobe und Acrobat sind Marken von Adobe Systems Incorporated, die in bestimmten Rechtsbereichen registriert sein können. Siebel® ist eingetragene Marke der Siebel Systems, Inc. Sonstige Produktnamen werden nur zur Identifikation der Produkte verwendet und können eingetragene Marken der entsprechenden Hersteller sein. Copyright © 2006 Gauss Interprise AG Hamburg, Gauss Interprise, Inc. Irvine, California. Alle Rechte weltweit vorbehalten. Dieses Dokument sowie die zugehörige Software sind Eigentum der Gauss Interprise AG oder ihrer Zulieferer und durch Gesetze zum Schutze des Urheberrechts und andere Gesetze geschützt. Sie werden unter einer Lizenz vertrieben, durch welche die Nutzung, Reproduktion, Vertrieb und Dekompilierung eingeschränkt wird. Weder der Erhalt noch der Besitz dieses Dokumentes ermächtigt Sie, dessen Inhalte ganz oder teilweise auf Papier, elektronisch oder einem anderen Medium zu reproduzieren, weiterzugeben oder anderen den Zugang darauf zu ermöglichen. Kein Teil dieses Dokumentes darf in irgendeiner Form und Weise ohne vorherige schriftliche Zustimmung der Gauss Interprise AG oder Gauss Interprise, Inc. reproduziert werden. Darüber hinaus gelten für diese Dokumentation die Bestimmungen des Softwarelizenzvertrags. Alle Warenzeichen oder Handelsmarken, die in diesem Dokument erwähnt wurden, sind Eigentum der entsprechenden Firmen. http://www.opentext.com/bridging/gauss.html Programmversion: Livelink Web Content Management ServerTM (Content Server) 9.5.1 Dokumentenversion: De-01 Erscheinungsdatum: Mai 2006 LuceneConnectorManual_de.book Page 4 Tuesday, May 16, 2006 4:51 PM Inhaltsverzeichnis Abbildungsverzeichnis 6 Tabellenverzeichnis 7 Kapitel 1 9 Allgemeine Hinweise 1.1 Kapitel 2 Kapitel 3 Kapitel 4 4 Willkommen beim Search Server Connector für Lucene 9 1.2 Hinweise zu diesem Handbuch 10 1.3 Typographische Konventionen 12 Konzepte 15 2.1 Allgemeine Funktionsweise 15 2.2 Index-System 18 2.3 Query-System 20 2.4 Systemarchitektur 21 Lucene-Suchserver verwalten 27 3.1 Lucene-Suchserver konfigurieren 28 3.2 Lucene-Suchserver in der Systemverwaltung 38 3.3 Die Datei contentminer.xml 42 Index-System 51 4.1 Synchronisieren 51 4.2 Kommandozeilen-Tools 53 4.3 File-Handles 65 Livelink WCM Server LuceneConnectorManual_de.book Page 5 Tuesday, May 16, 2006 4:51 PM Kapitel 5 Query-System 67 5.1 Einfache Suche ausführen 68 5.2 Konfigurationsdaten verwenden 72 5.3 WCM-System in das Ergebnis der Suchanfrage integrieren 76 Anhang A Abfragesyntax 85 Anhang B Nicht unterstützte Funktionen des Content Miner-API 95 Glossar Index Search Server Connector für Lucene – Handbuch 99 103 5 LuceneConnectorManual_de.book Page 6 Tuesday, May 16, 2006 4:51 PM Abbildungsverzeichnis Abb. 1 – Zuordnung von mehreren Suchservern zu einem Content-Server 17 Abb. 2 – Beteiligte Komponenten beim Erzeugen eines Index 19 Abb. 3 – Beteiligte Komponenten beim Verarbeiten einer Suchanfrage 20 Abb. 4 – Integration von Suchservern in ein WCM-System 24 Abb. 5 – Die Elemente der Konfiguration 28 Abb. 6 – Übersicht über die installierten Suchserver in der Ansicht Konfiguration 29 Abb. 7 – Einstellungen eines Lucene-Suchservers 30 Abb. 8 – Neue interne Collection anlegen 32 Abb. 9 – Wurzelobjekt und Objekttypen festlegen 33 Abb. 10 – Darstellung einer internen Collection in der baumartigen Ansicht 34 Abb. 11 – Neue externe Collection anlegen 35 Abb. 12 – Darstellung einer externen Collection in der baumartigen Ansicht 36 Abb. 13 – Einstellungen einer Collection 37 Abb. 14 – Die Elemente der Systemverwaltung 38 Abb. 15 – Übersicht über die installierten Suchserver in der Systemverwaltung 39 6 Livelink WCM Server LuceneConnectorManual_de.book Page 7 Tuesday, May 16, 2006 4:51 PM Tabellenverzeichnis Tabelle 1 – Einträge in der Datei contentminer.xml 44 Tabelle 2 – Allgemeine Parameter der Kommandozeilen-Tools 56 Tabelle 3 – Parameter des Kommandozeilen-Tools AddDocument 58 Tabelle 4 – Parameter des Kommandozeilen-Tools DeleteDocument 59 Tabelle 5 – Parameter des Kommandozeilen-Tools AddDirectory 61 Tabelle 6 – Parameter des Kommandozeilen-Tools DeleteDirectory 62 Tabelle 7 – Verknüpfungsoperatoren in Suchanfragen 90 Tabelle 8 – Unsupported Operations 95 Search Server Connector für Lucene – Handbuch 7 LuceneConnectorManual_de.book Page 8 Tuesday, May 16, 2006 4:51 PM 8 Livelink WCM Server LuceneConnectorManual_de.book Page 9 Tuesday, May 16, 2006 4:51 PM KAPITEL 1 Allgemeine Hinweise 1 Dieses Kapitel bietet Ihnen einen ersten Überblick über die Funktionalität des Search Server Connector für Lucene. Außerdem wird der Aufbau dieser Dokumentation beschrieben und weitere Hinweise zum Dokument gegeben. 1.1 Willkommen beim Search Server Connector für Lucene Eine Website kann Tausende von HTML-Seiten und anderen Dokumenten enthalten. Die Suche nach bestimmten Informationen bzw. Inhalten in einer Website ist deshalb unter Umständen sehr mühsam und zeitaufwendig. Mithilfe der leistungsfähigen Volltextsuchmaschine Jakarta Lucene aus dem Open-Source-Projekt Apache finden Sie schnell und komfortabel Seiten und Dokumente, die die von Ihnen eingegebenen Wörter beinhalten. In Kombination mit Livelink Web Content Management ServerTM (kurz: Livelink WCM Server) bietet der Search Server Connector für Lucene außerdem die sehr nützliche Option, nur solche Dokumente im Suchergebnis aufzulisten, für die der anfragende Benutzer die erforderliche Leseberechtigung hat. Auf diese Weise bleiben Ihre Daten vor unberechtigten Zugriffen geschützt. Search Server Connector für Lucene – Handbuch 9 LuceneConnectorManual_de.book Page 10 Tuesday, May 16, 2006 4:51 PM Kapitel 1 1.2 Hinweise zu diesem Handbuch Der Search Server Connector für Lucene und damit auch dieses Dokument richten sich an Personen, die über fundiertes technisches Know-how verfügen. Die folgenden Voraussetzungen sollten erfüllt sein: Kenntnis des Produkts Livelink WCM Server, möglichst nicht nur als Anwender, sondern als Administrator technisches Verständnis für die Abläufe bei der Benutzung von JavaServer-Pages (JSP) und Servlets allgemeine Programmiererfahrung, Erfahrung in der Programmierung mit Java und Kenntnisse über HTML Zusätzlich zum vorliegenden Handbuch können Sie Informationen aus folgenden Quellen beziehen: Livelink WCM Server-Administratorhandbuch – Dieses Dokument weist Sie ausführlich in alle Aufgaben der Systemadministration ein. Es enthält auch wichtige Hinweise zum Aufbau und zur Konfiguration eines WCM-Systems. WCM Java API-Programmierhandbuch: Dieses Dokument enthält Informationen über Interfaces, Klassen und Methoden der JavaProgrammierschnittstelle (WCM Java API), mit der die Funktionalität der WCM-Server über externe Programme genutzt werden kann. Javadoc – Hier finden Sie die komplette Dokumentation der Klassen des Content Miner-API. Mithilfe dieser Klassen können JSP-Seiten mit Suchfunktionen implementiert werden. Die Javadoc befindet sich im Verzeichnis {WCM-Installationsverzeichnis}\ documentation \javadoc\. 10 Livelink WCM Server LuceneConnectorManual_de.book Page 11 Tuesday, May 16, 2006 4:51 PM Allgemeine Hinweise Der Inhalt dieses Handbuchs ist folgendermaßen gegliedert: Kapitel 2 “Konzepte” erläutert die grundlegenden technischen Konzepte von Lucene-Suchservern. Kapitel 3 “Lucene-Suchserver verwalten” beschreibt die Konfiguration von Lucene-Suchservern über den Admin-Client und die Konfigurationsdatei contentminer.xml. Kapitel 4 “Index-System” beschreibt das Index-System von LuceneSuchservern sowie die Möglichkeiten, die Ihnen zur Beeinflussung von Collections zur Verfügung stehen. In Kapitel 5 “Query-System” wird das Query-System von LuceneSuchservern behandelt, wobei anhand von Beispielen die Durchführung einer Suche beschrieben wird. Anhang A “Abfragesyntax” beschreibt die Abfragesyntax von Lucene und liefert entsprechende Anwendungsbeispiele. Anhang B “Nicht unterstützte Funktionen des Content Miner-API” enthält eine Übersicht über die Methoden des Content Miner-API, die von Lucene-Suchservern nicht unterstützt werden. Search Server Connector für Lucene – Handbuch 11 LuceneConnectorManual_de.book Page 12 Tuesday, May 16, 2006 4:51 PM Kapitel 1 1.3 Typographische Konventionen Programmelemente u.Ä. werden im Text folgendermaßen hervorgehoben: Element Schriftart oder Symbol Beispiele Programmoberfläche wie z.B. Menübefehle, Fenster, Dialoge, Feldund Schaltflächenbezeichnungen Menü → Eintrag Datei → Anlegen Pfade zu Verzeichnissen, Namen von Dateien und Verzeichnissen Laufwerk:\Verzeichnis\ Dateiname D:\WCM\ admin.bat Zitate aus Programmcode oder Konfigurationsdateien Code-Zitate <head> <title>heading </title> </head> Variablen, d. h. Platzhalter für bestimmte Elemente {Variable} {WCMInstallationsverzeichnis} Wichtige Hinweise und Warnungen stehen in grauen Kästen. Diese Informationen sollten Sie unbedingt lesen, um Fehler bei der Nutzung und Verwaltung von WCM-Systemen sowie Datenverluste zu vermeiden. 12 Livelink WCM Server LuceneConnectorManual_de.book Page 13 Tuesday, May 16, 2006 4:51 PM Allgemeine Hinweise Search Server Connector für Lucene – Handbuch 13 LuceneConnectorManual_de.book Page 14 Tuesday, May 16, 2006 4:51 PM 14 Livelink WCM Server LuceneConnectorManual_de.book Page 15 Tuesday, May 16, 2006 4:51 PM KAPITEL 2 Konzepte 2 Dieses Kapitel beschreibt die Konzepte von Suchservern in Livelink WCM Server. Suchserver für die semantische und Volltextsuche heißen Content Miner-Suchserver. Für die alleinige Volltextsuche können Lucene-Suchserver in das WCM-System eingebunden werden. Im Folgenden wird zunächst auf die grundlegende Funktionsweise von Suchservern mit ihren Hauptkomponenten eingegangen und anschließend auf die gesamte Systemarchitektur. 2.1 Allgemeine Funktionsweise Die Hauptaufgabe einer Suchmaschine besteht darin, eine große Anzahl von Dokumenten unterschiedlicher Ausgangsformate schnell und intelligent suchbar zu machen. In der Regel wird diese Aufgabe wie folgt gelöst: Zunächst wird ein Index für einen Dokumentensatz erstellt. Dabei handelt es sich um eine Liste von Merkmalen, die innerhalb eines Dokumentensatzes für die Suche nach bestimmten Dokumenten herangezogen werden kann. Anschließend können Suchanfragen an den erzeugten Index gestellt und in Form von Trefferlisten beantwortet werden. Search Server Connector für Lucene – Handbuch 15 LuceneConnectorManual_de.book Page 16 Tuesday, May 16, 2006 4:51 PM Kapitel 2 In Anlehnung an diese Vorgehensweise ist die Funktionalität von Suchservern in Livelink WCM Server auf folgende zwei Module aufgeteilt: das Index-System und das Query-System. Das Index-System erstellt und verwaltet einen Index für einen Dokumentensatz. Dabei fügt es diesem Dokumentensatz neue Dokumente hinzu, löscht alte und aktualisiert geänderte Dokumente. Der Index eines Dokumentensatzes wird als Collection bezeichnet. Das Query-System nimmt Suchanfragen eines Benutzers an, verarbeitet diese und liefert eine entsprechende Trefferliste zurück. Die Trefferliste spiegelt dabei den Zustand des Dokumentensatzes zum Zeitpunkt der Indexierung wider. Jeder Suchserver ist genau einem Content-Server zugeordnet. Einem Content-Server können mehrere Suchserver zugeordnet sein. Außerdem kann jeder Suchserver mehrere Collections verwalten. Hinweis: Lucene-Suchserver sind direkt in den Content-Server integriert. Es gibt deshalb keine eigene Java-Prozesse. Die folgende Abbildung veranschaulicht, wie die einzelnen Komponenten zueinander in Beziehung stehen: 16 Livelink WCM Server LuceneConnectorManual_de.book Page 17 Tuesday, May 16, 2006 4:51 PM Konzepte Content-Server (Master/Proxy) Suchserver n Suchserver 2 Suchserver 1 Query-System Collection 1-p Index-System Collection 1-m Collection 1-n Abb. 1 – Zuordnung von mehreren Suchservern zu einem Content-Server Collections werden über den Admin-Client erzeugt. Auch das Löschen von Collections und das Festlegen von Konfigurationseigenschaften erfolgen über den Admin-Client (siehe dazu auch Kapitel 3 “Lucene-Suchserver verwalten”). Collections werden in interne und externe Collections unterteilt: Eine interne Collection wird aus einem Dokumentensatz gebildet, der über ein WCM-System verwaltet wird. Eine externe Collection wird im Gegensatz dazu aus einem Dokumentensatz gebildet, der durch ein beliebiges externes System bereitgestellt wird. Search Server Connector für Lucene – Handbuch 17 LuceneConnectorManual_de.book Page 18 Tuesday, May 16, 2006 4:51 PM Kapitel 2 2.2 Index-System Die Erzeugung eines Index durch das Index-System ist aufgrund der Verknüpfung des Suchservers mit dem Content-Server in den WCM-Bearbeitungsprozess integriert. Dabei übernimmt der Content-Server die Koordination der zu indexierenden Dokumente. In diesem Zusammenhang stehen zwei unterschiedliche Mechanismen zur Verfügung. Synchronisierung des Index mit dem aktuellen Dokumentensatz In dieser Konfiguration wird sowohl die Datenpflege als auch die Indexerstellung vom WCM-System übernommen bzw. initiiert. Dabei werden interne Collections bearbeitet. Ereignisse wie das Erstellen und Löschen von Dokumenten sowie Staging-basierte Ereignisse wie das Zurückgeben, Vorlegen und Freigeben von Dokumenten werden ebenfalls verarbeitet. Dabei ist der Index zu jedem Zeitpunkt mit dem aktuellen Dokumentensatz synchronisiert. Kommandozeilen-Tools Bei dieser Konfiguration wird der Dokumentensatz unabhängig vom WCM-System gepflegt und manuell bzw. über externe Systeme bereitgestellt. Die Indexerstellung wird mithilfe der KommandozeilenTools initiiert, wobei diese die entsprechenden Befehle an das WCMSystem bzw. den Suchserver geben. Die Tools sind als Java-Applikationen implementiert, die z.B. über die Eingabeaufforderung gestartet werden können. Über Kommandozeilen-Tools kann sowohl auf interne als auch auf externe Collections zugegriffen werden; schreibende Zugriffe sind jedoch nur für externe Collections sinnvoll. Die folgende Grafik veranschaulicht das Zusammenspiel von IndexSystem und WCM-System und stellt den Datenfluss heraus: 18 Livelink WCM Server LuceneConnectorManual_de.book Page 19 Tuesday, May 16, 2006 4:51 PM Konzepte KommandozeilenTools Dokumentensatz 1 Agent "ContentMinerBenachrichtigung" WCM-System pflegen indexieren IndexSystem Manuelle Datenpflege pflegen indexieren Dokumentensatz 2 Datenfluss Index-Kommando Collection 1-n (intern) Collection 1-m (extern) Abb. 2 – Beteiligte Komponenten beim Erzeugen eines Index Das WCM-System übernimmt im dargestellten Szenario die Datenpflege des Dokumentensatzes 1, wobei die Repräsentationen der Dokumente im Dateisystem angelegt werden. Dabei initiiert das WCM-System auch die Indexerstellung mithilfe des Agenten “ContentMiner-Benachrichtigung”, der das Index-System ansteuert. Dieses greift über das Dateisystem auf den Dokumentensatz zu. Der Dokumentensatz 2 wird unabhängig vom WCM-System gepflegt und manuell oder über externe Systeme zur Verfügung gestellt. Die Indexerstellung wird in diesem Fall mithilfe der Kommandozeilen-Tools initiiert, die das WCM-System ansprechen, woraufhin der Agent “ContentMinerBenachrichtigung” den entsprechenden Befehl an das Index-System weiterleitet. Search Server Connector für Lucene – Handbuch 19 LuceneConnectorManual_de.book Page 20 Tuesday, May 16, 2006 4:51 PM Kapitel 2 2.3 Query-System Das Query-System stellt einen Mechanismus zur Verfügung, mit dem Suchanfragen verarbeitet und entsprechende Trefferlisten erzeugt werden können. Die erforderliche agierende Komponente ist dabei die JSP-Seite bzw. die JSP-Engine, die die Anfragen an das Query-System stellt. Die folgende Grafik veranschaulicht das Zusammenspiel der einzelnen Komponenten: Collection 1-n Webserver JSP-Engine lesen Servlet QuerySystem VipContentMinerBean JSP-Seite Trefferliste Anfrage HTTP-Request Datenfluss Webbrowser Query-Kommando Abb. 3 – Beteiligte Komponenten beim Verarbeiten einer Suchanfrage Der Webbrowser erzeugt ausgehend von einem Suchformular einen HTTP-Request. In dem Suchformular sind die Parameter der Anfrage spezifiziert, wobei beispielsweise eine Collection ausgewählt und eine Suchanfrage eingegeben werden kann. Der HTTP-Request fordert vom 20 Livelink WCM Server LuceneConnectorManual_de.book Page 21 Tuesday, May 16, 2006 4:51 PM Konzepte Webserver eine JSP-Seite an, die im Formular spezifiziert ist und die Funktionalität zur Ausführung der Anfrage aufruft. Das Servlet, das aus der JSP-Seite generiert wird, bzw. das VipContentMinerBean stellt die Anfrage an das Query-System, das anhand der Collection eine entsprechende Trefferliste erzeugt. Diese steht anschließend zur Verarbeitung durch die JSP-Engine zur Verfügung. Die JSP-Seite kann individuell angepasst werden, sodass eine vollständige Kontrolle über die Aspekte der Suche möglich ist. Die Suchserver von Livelink WCM Server stellen alle benötigten Kontrollinstrumente zur Verfügung – bestehend aus dem VipContentMinerBean und zahlreichen Hilfsklassen – die die Kommunikation mit dem Query-System übernehmen und die Suchergebnisse bereitstellen. Das VipContentMinerBean wird zu diesem Zweck mit den Eingaben aus dem HTTP-Request parametrisiert, übersetzt die Parameterwerte in die Abfragesprache des Query-Systems, versendet die Anfrage und empfängt die Trefferliste. Hinweis: Das VipContentMinerBean kann nicht außerhalb des WCMSystems benutzt werden. Voraussetzung ist stets ein Master- oder Proxy-Content-Server. 2.4 Systemarchitektur Im Folgenden werden die Systemarchitektur sowie der Funktionsablauf innerhalb eines Szenarios mit integriertem Suchserver erläutert. Zu diesem Zweck werden zunächst grundlegende Begrifflichkeiten im Zusammenhang mit einem WCM-System geklärt. Ein Beispielszenario wird im Anschluss daran beschrieben. Search Server Connector für Lucene – Handbuch 21 LuceneConnectorManual_de.book Page 22 Tuesday, May 16, 2006 4:51 PM Kapitel 2 Grundlagen Die WCM-Server werden in die zwei Hauptkategorien Master und Proxy unterteilt. In jedem WCM-System gibt es einen Master-Administrationsserver und einen bzw. mehrere Master-Content-Server. Der Master-Administrationsserver steuert die Benutzerverwaltung und übernimmt Konfiguration, System- und Lizenzverwaltung. Der Zugang zum Administrationsserver erfolgt über den Admin-Client. Der Master-Content-Server verwaltet eine oder mehrere Websites, wobei eine Website immer genau einem Master-Content-Server zugeordnet ist. Nur an einem Master-Content-Server können Änderungen an Inhalt und Status von WCM-Objekten durchgeführt werden. Auf dem Master-Content-Server stehen immer alle Datenhaltungssichten (Edit, QS und Produktion) zur Verfügung. Zusätzlich zum Master-Content-Server können Sie in einem WCMSystem Proxy-Content-Server einrichten, auf denen die Daten der Website(s) mithilfe entsprechender Deploymentsysteme ebenfalls verfügbar gemacht werden. Im Unterschied zu einem Master-ContentServer haben Proxy-Content-Server jedoch nur lesenden Zugriff auf die Daten. Sollen Website-Daten über einen Proxy-Content-Server bearbeitet werden, wendet sich der Proxy-Content-Server an den Master-ContentServer. Dieser sperrt das Objekt für weitere schreibende Zugriffe und speichert nach Abschluss der Bearbeitung die geänderten Objekte in der Datenhaltung. Anschließend informiert der Master-Content-Server alle angeschlossenen Proxy-Content-Server der Website darüber, dass sich das WCM-Objekt geändert hat. Auf diese Weise bleiben Ihre WebsiteInhalte konsistent. Für die Verteilung der Seiten im WCM-System sind die so genannten Deploymentsysteme zuständig. Das Deployment benachrichtigt den Agenten “ContentMiner-Benachrichtigung” über Änderungen an den WCM-Objekten. 22 Livelink WCM Server LuceneConnectorManual_de.book Page 23 Tuesday, May 16, 2006 4:51 PM Konzepte Aufgrund der flexiblen Systemarchitektur mit Master- und Proxy-Servern gibt es für den Aufbau eines WCM-Systems zahlreiche Möglichkeiten. Da Sie jederzeit weitere Server und Deploymentsysteme hinzufügen können, bietet Livelink WCM Server außerdem die Möglichkeit, ein installiertes System auszubauen, wenn sich die Anforderungen Ihres Unternehmens ändern. Weitere Informationen finden Sie im Livelink WCM Server-Administratorhandbuch und -Installationshandbuch. Integration von Suchservern Im Folgenden wird die Integration von Suchservern in ein WCM-System mit dem zugrunde liegenden Datenfluss anhand eines MinimalsystemSzenarios beschrieben. Das WCM-System besteht aus einem Master-Admin-Server und einem Master-Content-Server. Der Master-Content-Server wird im Kontext einer JSP-Engine bzw. als Webanwendung in einem Application-Server ausgeführt. Search Server Connector für Lucene – Handbuch 23 LuceneConnectorManual_de.book Page 24 Tuesday, May 16, 2006 4:51 PM Kapitel 2 Master-Admin-Server 1 JSP-Engine Deploymentsysteme 1-p Master-ContentServer DS 4 1 2 p Suchserver 3 Index-System Agent "ContentMinerBenachrichtigung" 5 Query-System Content Miner-Klassen 2 Kommandozeilen-Tools 1 2 Collection 1-n (intern) n 1 2 m Collection 1-m (extern) Abb. 4 – Integration von Suchservern in ein WCM-System Über den Master-Admin-Server können Collections angelegt und auch gelöscht werden c. Diese Vorgänge erfolgen synchron. Die agierende Komponente ist dabei der Agent “ContentMiner-Benachrichtigung”, der die entsprechenden Befehle zum Anlegen bzw. Löschen der Collections an das Index-System weiterleitet e. Mithilfe der KommandozeilenTools d können Indexierungsaktionen für externe Collections durchgeführt werden. Dies erfolgt ebenfalls synchron, und auch in diesem Fall übernimmt der Agent “ContentMiner-Benachrichtigung” eine zentrale Funktion, da er die Anweisungen entsprechend weiterleitet. 24 Livelink WCM Server LuceneConnectorManual_de.book Page 25 Tuesday, May 16, 2006 4:51 PM Konzepte Eine interne Collection basiert auf einem Deploymentsystem, wobei jede interne Collection immer genau einem Deploymentsystem zugeordnet ist. Auf diese Weise ist eine interne Collection auch immer indirekt einer Website zugeordnet. Das Deploymentsystem muss dabei auf demjenigen Content-Server eingerichtet sein, dem der entsprechende Suchserver zugeordnet ist. Interne Collections können nur auf Basis eines Standardoder eines Suchmaschinen-Deploymentsystems angelegt werden. Das Erstellen und Löschen von WCM-verwalteten Dokumenten erfolgt über den Master-Content-Server, der die entsprechenden Informationen an das jeweilige Deploymentsystem weiterleitet. Dabei wird der Index bzw. die interne Collection zu jedem Zeitpunkt mit dem aktuellen Dokumentensatz synchronisiert f, d.h., der durch das WCM-System verwaltete Dokumentensatz wird mit dem durch den Suchserver indexierten Dokumentensatz abgeglichen. Beim Erstellen und Löschen der Dokumente feuert das Deploymentsystem jeweils ein Event, auf das sich der Agent “ContentMiner-Benachrichtigung” registriert. Die angenommenen Events werden in eine “Warteschlange” gestellt, die anschließend asynchron abgearbeitet wird. Außerdem kann das Synchronisieren einer internen Collection über den Admin-Client manuell ausgelöst werden (siehe dazu den Abschnitt “Interne Collection synchronisieren” auf Seite 40). Dies ist beispielsweise erforderlich, wenn die Gefahr besteht, dass die Dokumentensätze z.B. infolge längerer Netzwerkstörungen nicht mehr übereinstimmen. Beim Synchronisieren wird der Index überschrieben. Der Master-Content-Server läuft im Kontext einer JSP-Engine. Wenn Suchanfragen erfolgen, werden auf entsprechenden JSP-Seiten Content Miner-Klassen benutzt, um auf das Query-System eines Suchservers zuzugreifen g. Die Content Miner-Klassen stellen die jeweiligen Funktionen zur Verfügung, damit auf den indexierten Collections Suchanfragen durchgeführt werden können. Search Server Connector für Lucene – Handbuch 25 LuceneConnectorManual_de.book Page 26 Tuesday, May 16, 2006 4:51 PM 26 Livelink WCM Server LuceneConnectorManual_de.book Page 27 Tuesday, May 16, 2006 4:51 PM KAPITEL 3 Lucene-Suchserver verwalten 3 Dieses Kapitel beschreibt, wie Sie Lucene-Suchserver verwalten. Die gesamte Konfiguration Ihres WCM-Systems erfolgt über den AdminClient. An dieser zentralen Stelle nehmen Sie also auch die Administration und Konfiguration von Suchservern vor. Sie verwalten Lucene-Suchserver im Admin-Client in den zwei Ansichten Konfiguration und Systemverwaltung. Welche Optionen Ihnen in der jeweiligen Ansicht zur Verwaltung von Lucene-Suchservern zur Verfügung stehen, erfahren Sie in den folgenden Abschnitten. Hinweis: Die Verwaltung der übrigen Elemente und die Bedienung des Admin-Clients werden ausführlich im Livelink WCM Server-Administratorhandbuch beschrieben. Am Ende dieses Kapitels erhalten Sie außerdem Informationen zur Konfigurationsdatei contentminer.xml und erfahren, wie Sie Analyzer und Parser in einen Lucene-Suchserver einbinden. Search Server Connector für Lucene – Handbuch 27 LuceneConnectorManual_de.book Page 28 Tuesday, May 16, 2006 4:51 PM Kapitel 3 3.1 Lucene-Suchserver konfigurieren Um die Konfiguration zu öffnen, starten Sie den Admin-Client und wählen das Register . In einer baumartigen Ansicht sehen Sie die Elemente, die Sie verwalten können. Abb. 5 – Die Elemente der Konfiguration Wenn Sie das Baumelement Suchserver öffnen, werden Ihnen alle verfügbaren Content Miner- und Lucene-Suchserver angezeigt – sowohl im Baum links als auch in einer Liste im rechten Fensterbereich. Die hier angezeigten Suchserver haben Sie bei der Installation des WCM-Systems eingerichtet. 28 Livelink WCM Server LuceneConnectorManual_de.book Page 29 Tuesday, May 16, 2006 4:51 PM Lucene-Suchserver verwalten Abb. 6 – Übersicht über die installierten Suchserver in der Ansicht Konfiguration Folgende Funktionen stehen Ihnen in dieser Ansicht für Lucene-Suchserver zur Verfügung: Einstellungen der installierten Suchserver einsehen (siehe folgenden Abschnitt) Collections verwalten (siehe Abschnitt “Collections verwalten” auf Seite 30) Einstellungen der installierten Suchserver Um die Einstellungen eines Suchservers einzusehen, markieren Sie den entsprechenden Suchserver über Konfiguration → Suchserver → {Suchservername}. Im rechten Fensterbereich werden die Einstellungen der Suchserver angezeigt. Eine genaue Erläuterung der einzelnen Parameter finden Sie in der Online-Hilfe des Admin-Clients. Search Server Connector für Lucene – Handbuch 29 LuceneConnectorManual_de.book Page 30 Tuesday, May 16, 2006 4:51 PM Kapitel 3 Abb. 7 – Einstellungen eines Lucene-Suchservers Hinweis: Beachten Sie, dass Sie die Einstellungen der installierten Suchserver nicht über den Admin-Client verändern können. Sie können hier auch keine Suchserver hinzufügen oder entfernen. Dies erfolgt mithilfe des Installationsprogramms. Genaue Informationen dazu finden Sie im Livelink WCM Server-Installationshandbuch. Collections verwalten Nach der Installation verfügt ein Suchserver noch nicht über Collections. Diese legen Sie über den Admin-Client an. Sie können beliebig viele interne und externe Collections verwalten. Eine interne Collection wird aus einem Dokumentensatz gebildet, der über das WCM-System verwaltet wird. Eine externe Collection wird aus einem Dokumentensatz gebildet, der durch ein beliebiges externes System bereitgestellt wird. Hinweis: Um Collections anlegen und mit diesen arbeiten zu können, muss auf dem Content-Server, dem der Lucene-Suchserver zugeordnet ist, der Agent “ContentMiner-Benachrichtigung” laufen. 30 Livelink WCM Server LuceneConnectorManual_de.book Page 31 Tuesday, May 16, 2006 4:51 PM Lucene-Suchserver verwalten Folgende Funktionen stehen Ihnen für Collections zur Verfügung: interne Collection anlegen (siehe folgenden Abschnitt) externe Collection anlegen (siehe Abschnitt “Neue externe Collection anlegen” auf Seite 35) Einstellungen einer Collection einsehen (siehe Abschnitt “Einstellungen einer Collection” auf Seite 36) Collection löschen (siehe Abschnitt “Collection löschen” auf Seite 38) Neue interne Collection anlegen Hinweise: Deploymentsysteme bilden die Voraussetzung für das Anlegen interner Collections. Für die Indexierung der Metadaten von WCM-Objekten gibt es speziell die so genannten Suchmaschinen-Deploymentsysteme. Richten Sie deshalb zunächst ein Suchmaschinen-Deploymentsystem ein, wenn Sie die Metadaten in die Indexierung einbeziehen möchten. Informationen dazu finden Sie im Livelink WCM ServerAdministratorhandbuch. Interne Collections können nur auf Basis eines Standard- oder eines Suchmaschinen-Deploymentsystems angelegt werden. So fügen Sie einem Suchserver eine neue interne Collection hinzu: 1. Wählen Sie Konfiguration → Suchserver. 2. Markieren Sie den gewünschten Suchserver. 3. Wählen Sie Neue interne Collection aus dem Kontextmenü, oder klicken Sie auf das entsprechende Symbol. Symbol zum Anlegen einer neuen internen Collection Search Server Connector für Lucene – Handbuch 31 LuceneConnectorManual_de.book Page 32 Tuesday, May 16, 2006 4:51 PM Kapitel 3 Der Assistent zum Anlegen einer neuen internen Collection wird gestartet. 4. Folgen Sie den Anweisungen des Assistenten. Schritt 1 – Name und Deploymentsystem festlegen Abb. 8 – Neue interne Collection anlegen Name: Geben Sie hier einen Namen für die neue interne Collection an. Dieser Name ist frei wählbar, muss jedoch innerhalb des WCMSystems eindeutig sein. Deploymentsystem: Wählen Sie hier das Deploymentsystem aus, dessen generierte Objekte indexiert werden sollen. Zur Auswahl stehen die Deploymentsysteme, die auf dem Content-Server eingerichtet sind, dem dieser Suchserver zugeordnet ist. Wenn Sie zusätzlich die Metadaten Ihrer WCM-Objekte indexieren möchten, wählen Sie aus der Liste das entsprechende Suchmaschinen-Deploymentsystem. Beim Einrichten dieses Deploymentsystems wurden die zu indexierenden Metadaten bereits festgelegt. 32 Livelink WCM Server LuceneConnectorManual_de.book Page 33 Tuesday, May 16, 2006 4:51 PM Lucene-Suchserver verwalten Um die Eingaben zu bestätigen, klicken Sie auf die Schaltfläche Weiter. Schritt 2 – Wurzelobjekt und Objekttypen festlegen Es ist möglich, nur Teilbereiche einer Website zu indexieren. Im folgenden Dialog können Sie optional eine OID angeben. Diese OID wird dann als Wurzelobjekt interpretiert, ab dem die Indexierung erfolgen soll. Außerdem wählen Sie hier die Objekttypen aus, deren zugehörige generierte Objekte Sie indexieren möchten. Eine Reihe von typischerweise verwendeten Objekttypen ist in der rechten Spalte bereits ausgewählt. Abb. 9 – Wurzelobjekt und Objekttypen festlegen Search Server Connector für Lucene – Handbuch 33 LuceneConnectorManual_de.book Page 34 Tuesday, May 16, 2006 4:51 PM Kapitel 3 Wurzelobjekt: Um die Indexierung auf einen Teilbereich der Website zu beschränken, geben Sie hier die OID an, ab der die Indexierung erfolgen soll. Wenn das Feld leer bleibt, wird die gesamte Website indexiert. Verfügbare Objekttypen: Hier werden Ihnen alle verfügbaren Objekttypen angezeigt. Ausgewählte Objekttypen: Hier werden Ihnen die bereits ausgewählten Objekttypen angezeigt. Um weitere Objekttypen auszuwählen bzw. um bereits ausgewählte Objekttypen wieder aus der Liste zu entfernen, markieren Sie den entsprechenden Objekttyp und übertragen ihn mit bzw. oder per Doppelklick in die entsprechende Spalte. Um die interne Collection anzulegen, klicken Sie auf die Schaltfläche Fertig. Die neue Collection erscheint in der baumartigen Ansicht des AdminClients unterhalb des Knotens des Lucene-Suchservers. Eine interne Collection ist im Baum durch einen rosafarbenen Balken gekennzeichnet. Abb. 10 – Darstellung einer internen Collection in der baumartigen Ansicht Hinweis: Bevor Sie die neu angelegte Collection für Suchanfragen nutzen können, muss die Collection synchronisiert werden (siehe Abschnitt “Interne Collection synchronisieren” auf Seite 40). 34 Livelink WCM Server LuceneConnectorManual_de.book Page 35 Tuesday, May 16, 2006 4:51 PM Lucene-Suchserver verwalten Neue externe Collection anlegen So fügen Sie einem Suchserver eine neue externe Collection hinzu: 1. Wählen Sie Konfiguration → Suchserver 2. Markieren Sie den gewünschten Suchserver. 3. Wählen Sie Neue externe Collection aus dem Kontextmenü, oder klicken Sie auf das entsprechende Symbol. Symbol zum Anlegen einer neuen externen Collection Sie gelangen zu folgendem Dialog. Abb. 11 – Neue externe Collection anlegen 4. Geben Sie im Feld Name einen Namen für die neue externe Collection an. Dieser Name ist frei wählbar, muss jedoch innerhalb des WCM-Systems eindeutig sein. 5. Klicken Sie auf die Schaltfläche Fertig. Search Server Connector für Lucene – Handbuch 35 LuceneConnectorManual_de.book Page 36 Tuesday, May 16, 2006 4:51 PM Kapitel 3 Die neue Collection erscheint in der baumartigen Ansicht des AdminClients unterhalb des Knotens des Lucene-Suchservers. Eine externe Collection ist im Baum durch einen blauen Balken gekennzeichnet. Abb. 12 – Darstellung einer externen Collection in der baumartigen Ansicht Hinweis: Bevor Sie die neu angelegte Collection für Suchanfragen nutzen können, müssen der Collection mithilfe des KommandozeilenTools AddDocument bzw. AddDirectory Dokumente hinzugefügt werden (siehe Abschnitte “AddDocument” auf Seite 64 und “AddDirectory” auf Seite 60). Einstellungen einer Collection Um die Einstellungen einer Collection einzusehen oder zu bearbeiten, gehen Sie folgendermaßen vor. 1. Wählen Sie Konfiguration → Suchserver → {Suchservername}. 2. Markieren Sie die gewünschte Collection. Im rechten Fensterbereich werden die Register mit den Einstellungen angezeigt, die Sie beim Anlegen der Collection vorgenommen haben. Die Art und Anzahl der angezeigten Register hängt davon ab, ob es sich um eine interne oder externe Collection handelt. 36 Livelink WCM Server LuceneConnectorManual_de.book Page 37 Tuesday, May 16, 2006 4:51 PM Lucene-Suchserver verwalten Abb. 13 – Einstellungen einer Collection Die Angaben auf dem Register Name und Deploymentsystem (interne Collection) bzw. Name (externe Collection) können Sie nicht ändern. Auf dem Register Wurzelobjekt und Objekttypen (interne Collection) geben Sie die OID eines Wurzelobjekts an, ab dem die Indexierung erfolgen soll. Außerdem wählen Sie die Objekttypen aus, deren zugehörige generierte Objekte Sie indexieren möchten. Eine genaue Erläuterung der einzelnen Parameter finden Sie in den Abschnitten “Neue interne Collection anlegen” auf Seite 31 und “Neue externe Collection anlegen” auf Seite 35 sowie in der OnlineHilfe des Admin-Clients. 3. Nehmen Sie die gewünschten Änderungen vor. 4. Klicken Sie auf die Schaltfläche Übernehmen. Hinweis: Nach Änderungen in der Konfiguration muss eine interne Collection synchronisiert werden, um sie der neuen Konfiguration anzupassen (siehe Abschnitt “Interne Collection synchronisieren” auf Seite 40.) Search Server Connector für Lucene – Handbuch 37 LuceneConnectorManual_de.book Page 38 Tuesday, May 16, 2006 4:51 PM Kapitel 3 Collection löschen So löschen Sie eine Collection: 1. Wählen Sie Konfiguration → Suchserver → {Suchservername}. 2. Markieren Sie die zu löschende Collection. 3. Wählen Sie Collection löschen aus dem Kontextmenü, oder klicken Sie auf das entsprechende Symbol. Symbol zum Löschen einer Collection 4. Bestätigen Sie die folgende Sicherheitsabfrage mit Ja. 3.2 Lucene-Suchserver in der Systemverwaltung Um die Systemverwaltung zu öffnen, starten Sie den Admin-Client und wählen das Register am unteren Fensterrand. In einer baumartigen Ansicht sehen Sie die Elemente, die Sie hier verwalten können. Abb. 14 – Die Elemente der Systemverwaltung 38 Livelink WCM Server LuceneConnectorManual_de.book Page 39 Tuesday, May 16, 2006 4:51 PM Lucene-Suchserver verwalten Wenn Sie das Baumelement Suchserver öffnen, werden Ihnen alle verfügbaren Suchserver angezeigt – sowohl im Baum links als auch in einer Liste im rechten Fensterbereich. Die hier dargestellten Suchserver haben Sie bei der Installation des WCM-Systems eingerichtet. Abb. 15 – Übersicht über die installierten Suchserver in der Systemverwaltung In der Systemverwaltung können Sie den Zustand von Collections beeinflussen (siehe folgenden Abschnitt). Collections beeinflussen Die Ansicht Systemverwaltung bietet Ihnen verschiedene Möglichkeiten, die angelegten internen und externen Collections zu beeinflussen. Folgende Funktionen stehen Ihnen zur Verfügung: Synchronisieren einer internen Collection (siehe folgenden Abschnitt) Komprimieren einer Collection (siehe Abschnitt “Collection komprimieren” auf Seite 41) Search Server Connector für Lucene – Handbuch 39 LuceneConnectorManual_de.book Page 40 Tuesday, May 16, 2006 4:51 PM Kapitel 3 Interne Collection synchronisieren Eine interne Collection wird aus einem Dokumentensatz gebildet, der durch ein WCM-System verwaltet wird. Der Vorgang des Synchronisierens bewirkt, dass der WCM-verwaltete Dokumentensatz mit dem durch den Lucene-Suchserver indexierten Dokumentensatz abgeglichen wird. Änderungen, die Sie an Ihren WCM-verwalteten Dokumentensätzen vornehmen, wie z. B. das Hinzufügen oder Löschen von Dokumenten, bewirken eine automatische Synchronisierung der entsprechenden Collections (siehe Abschnitt “Automatisches Synchronisieren” auf Seite 52). Das (manuelle) Synchronisieren ist dagegen erforderlich, wenn Sie Änderungen in der Konfiguration der internen Collection vorgenommen haben oder die Dokumentensätze durch längere Netzwerkstörungen nicht mehr übereinstimmen. Beim Synchronisieren wird der Index überschrieben. So synchronisieren Sie eine interne Collection: 1. Wählen Sie Systemverwaltung → Suchserver → {Suchservername}. 2. Markieren Sie die gewünschte Collection. 3. Wählen Sie Collection synchronisieren aus dem Kontextmenü, oder klicken Sie auf das entsprechende Symbol. Symbol zum Synchronisieren einer internen Collection 4. Bestätigen Sie die folgenden Sicherheitsabfragen mit Ja und OK. Hinweis: Der Synchronisierungsprozess kann längere Zeit in Anspruch nehmen. Er läuft auf dem Lucene-Suchserver als Hintergrundprozess ab. Die Arbeit im Admin-Client kann währenddessen ohne Einschränkungen fortgesetzt werden. 40 Livelink WCM Server LuceneConnectorManual_de.book Page 41 Tuesday, May 16, 2006 4:51 PM Lucene-Suchserver verwalten In den Protokoll- und Fehlerdateien des Content-Servers, dem der Suchserver zugeordnet ist, werden sämtliche Aktionen sowie eventuell auftretende Fehler gespeichert. Hinweis: Sobald im Bericht “ContentMinerAgent:{Servername}” der Eintrag current queue has 0 requests erscheint, ist der Prozess der Synchronisierung abgeschlossen. Diesen Bericht öffnen Sie über Systemverwaltung → Laufende Server → {Servername} → Berichte. Weitere Informationen zu Server-Berichten finden Sie im Livelink WCM Server-Administratorhandbuch. Collection komprimieren Verschiedene Aktionen wie z.B. das Hinzufügen oder Löschen von Dokumenten führen dazu, dass der Index nicht mehr aktuell ist bzw. ungültig wird. Beispielsweise werden die Indexeinträge gelöschter Dokumente als “gelöscht” markiert und treten im Index auch nicht mehr auf. Dennoch werden diese Einträge in der Indexdatei weiterhin als “gelöscht” mitgeführt. Das Komprimieren einer Collection dient dazu, diesen veralteten Zustand zu aktualisieren und damit die Größe des Index auf die erforderliche Minimalgröße zu reduzieren. Zur Optimierung des Index sollten Sie eine Collection in regelmäßigen Abständen komprimieren. Sie können sowohl externe als auch interne Collections komprimieren. So komprimieren Sie eine Collection: 1. Wählen Sie Systemverwaltung → Suchserver → {Suchservername}. 2. Markieren Sie die gewünschte Collection. Search Server Connector für Lucene – Handbuch 41 LuceneConnectorManual_de.book Page 42 Tuesday, May 16, 2006 4:51 PM Kapitel 3 3. Wählen Sie Collection komprimieren aus dem Kontextmenü, oder klicken Sie auf das entsprechende Symbol. Symbol zum Komprimieren einer internen Collection Symbol zum Komprimieren einer externen Collection 4. Bestätigen Sie die folgende Sicherheitsabfrage mit Ja. Lucene-Suchserver starten und stoppen Um Collections anlegen und mit diesen arbeiten zu können, muss der Suchserver, der die entsprechenden Collections verwalten soll, gestartet sein. Lucene-Suchserver können nur auf dem Hostrechner installiert werden, auf dem der zugeordnete Content-Server installiert ist. Sie werden immer automatisch zusammen mit dem Server gestartet und gestoppt. 3.3 Die Datei conte nt miner.xml In der Datei {WCM-Installationsverzeichnis}\config\comi\ contentminer.xml werden die Einstellungen, die Sie während der Installation für Suchserver vornehmen, gespeichert. Sie können mithilfe dieser Datei außerdem so genannte Analyzer und Parser in den Suchserver einbinden und den Zugriff mehrerer Content-Server auf eine Collection konfigurieren. Analyzer sind Java-Klassen, die den eigentlichen Content eines Dokuments analysieren. Sie steuern, wie der Content eines Dokuments während der Indexierung in Begriffe (Terms) aufgeteilt wird. Analyzer können außerdem bestimmte Operationen ausführen, etwa die Umwand- 42 Livelink WCM Server LuceneConnectorManual_de.book Page 43 Tuesday, May 16, 2006 4:51 PM Lucene-Suchserver verwalten lung aller Begriffe in Kleinschreibung oder das Herausfiltern von Wörtern, die für die Indexierung nicht berücksichtigt werden sollen, der so genannten Stop-Words (z.B. Artikel und Konjunktionen). Parser sind Java-Klassen, die für die Indexierung den eigentlichen Content eines Dokuments extrahieren. Sie sind abhängig vom Dateityp. Für HTML-Dateien wird deshalb beispielsweise ein anderer Parser benötigt als für Word-Dateien. Hinweis: Wenn Sie dieselbe Parserklasse für mehrere Dateitypen verwenden, z. B. für JSP- und HTML-Dateien, tragen Sie die entsprechenden Endungen im Element <extension> der Parserklasse ein (siehe unten). Für jede Parserklasse darf es nur ein <parser>-Element geben. Beispiel (contentminer.xml) <ContentMiner> <search-server name="Lucene-Suchserver"> <search-product>Lucene</search-product> <reload-interval>300000</reload-interval> <vip-server-name>Master-Content</vip-server-name> <index-location> <server name="Master-Content">D:\wcm\contentminer </server> </index-location> <parser name="HTMLandJSPParser"> <class>de.gauss.vip.contentminer.product.lucene.parser. HTMLParser</class> <extensions>htm.HTM.html.HTML.jsp.JSP</extensions> </parser> <analyzer> <class>de.gauss.vip.contentminer.product.lucene.analyzer. StandardAnalyzer</class> <stop-words>und oder der die das</stop-words> </analyzer> </search-server> </ContentMiner> Search Server Connector für Lucene – Handbuch 43 LuceneConnectorManual_de.book Page 44 Tuesday, May 16, 2006 4:51 PM Kapitel 3 Tabelle 1 – Einträge in der Datei contentminer.xml Eintrag Beschreibung Während Installation <search-server name> Eindeutiger Name des Suchservers <searchproduct> Produktname der Suchmaschine (= Lucene) <reloadinterval> Zeitspanne in Millisekunden, nach der alle Collections für den lesenden Zugriff neu geladen werden <vip-servername> Name des Content-Servers, dem der Suchserver zugeordnet ist <indexlocation> Pfad zu dem Verzeichnis im Dateisystem, in dem der Index gespeichert ist Wenn mehrere Content-Server dieselbe Collection durchsuchen sollen, muss dieser Pfad für die entsprechenden Content-Server zugreifbar sein. Die Pfadnamen können dabei für Server, die auf verschiedenen Rechnern installiert sind, unterschiedlich sein. Um die Pfade für die Server zu konfigurieren, fügen Sie dem Element <indexlocation> Unterelemente vom Typ <server> zu. In dem Attribut <name> wird der Name des Content-Servers angegeben, das Element selbst enthält den Pfad, den der Server für den Zugriff auf das Verzeichnis mit dem Index verwenden soll. 44 Livelink WCM Server LuceneConnectorManual_de.book Page 45 Tuesday, May 16, 2006 4:51 PM Lucene-Suchserver verwalten Eintrag Beschreibung Während Installation Beispiel: <index-location> <server name="Master"> D:\wcm\contentminer</server> <server name="Proxy"> S:\wcm\contentminer</server> </index-location> <parser name> Eindeutiger Name des Parsers (Komponente, die den Content extrahiert) Siehe Abschnitt “Parser für LuceneSuchserver” auf Seite 48 <class> Eine zu instanziierende Java-Klasse, die das Interface de.gauss.vip. contentminer.product.lucene. parser.ContentParser implementiert <extensions> Durch Punkte getrennte Liste von Dateiendungen. Der Parser wird für Dateien mit diesen Endungen zum Einlesen des Content verwendet. <analyzer> Analyse-Komponente zur Indexierung Siehe folgenden Abschnitt <class> Eine zu instanziierende Java-Klasse, die das Interface de.gauss.vip. contentminer.product.lucene. analyzer.AnalyzerHelper implementiert Search Server Connector für Lucene – Handbuch 45 LuceneConnectorManual_de.book Page 46 Tuesday, May 16, 2006 4:51 PM Kapitel 3 Eintrag Beschreibung Während Installation <stop-words> Durch Leerzeichen getrennte Liste von Wörtern, die bei der Indexierung nicht berücksichtigt werden sollen (StopWords) Dieser Parameter ist optional. Ist der Parameter nicht gesetzt, wird der Standard-Konstruktor der Klasse verwendet. Mögliche Zustände der Liste: nicht definiert, leer, explizit definiert Analyzer für Lucene-Suchserver Mitgelieferte Analyzer Folgende Analyzer werden mitgeliefert (Package de.gauss.vip.contentminer.product.lucene.analyzer): StandardAnalyzer (Wenn der Eintrag <analyzer> in der Datei contentminer.xml nicht gesetzt ist, wird standardmäßig dieser Analyzer verwendet.) SimpleAnalyzer (unterstützt keine Stop-Words) GermanAnalyzer StopAnalyzer WhitespaceAnalyzer (unterstützt keine Stop-Words) 46 Livelink WCM Server LuceneConnectorManual_de.book Page 47 Tuesday, May 16, 2006 4:51 PM Lucene-Suchserver verwalten Eigene Analyzer integrieren So integrieren Sie eigene Analyzer in einen Lucene-Suchserver: 1. Erstellen Sie eine Klasse, die das Interface AnalyzerHelper implementiert. Nachfolgend finden Sie ein Beispiel für die Implementation. In diesem Beispiel wird der Standard-Analyzer von Lucene gewrapped, damit er in die Datei contentminer.xml eingebunden werden kann. Den Standard-Analyzer finden Sie in der Datei {WCMInstallationsverzeichnis}\lib\lucene-1.4-rc3.jar. package de.gauss.vip.contentminer.product.lucene.analyzer; import org.apache.lucene.analysis.Analyzer; /** Wraps the Lucene Standard Analyzer. */ public class StandardAnalyzer implements AnalyzerHelper { /** Lucene Stardard Analyzer */ private org.apache.lucene.analysis.standard.StandardAnalyzer analyzerM = null; /** Standard constructor */ public StandardAnalyzer() { } /** * Gets the internal analyzer. * * @return the internal analyzer. */ public Analyzer getAnalyzer() { if(analyzerM == null) analyzerM = new org.apache.lucene.analysis.standard. StandardAnalyzer(); return analyzerM; } Search Server Connector für Lucene – Handbuch 47 LuceneConnectorManual_de.book Page 48 Tuesday, May 16, 2006 4:51 PM Kapitel 3 /** * Sets the stop words that should be used. * * @param stopwords the stop words that should be used. */ public void setStopWords(String[] stopwords) { analyzerM = new org.apache.lucene.analysis.standard. StandardAnalyzer(stopwords); } } 2. Tragen Sie den Namen der in Schritt 1 erstellten Klasse in der Datei contentminer.xml im Element <class> ein (siehe Tabelle 1 “Einträge in der Datei contentminer.xml” auf Seite 44). Parser für Lucene-Suchserver Mitgelieferte Parser Nach der Installation eines Lucene-Suchservers ist der folgende HTMLParser konfiguriert: de.gauss.vip.contentminer.product.lucene.parser.HTMLParser Hinweis: Die Datei {WCM-Installationsverzeichnis}\examples\ luceneFilter*.zip enthält zusätzliche Parser. Diese dienen lediglich als Beispiele und sind kein Produktbestandteil. Eigene Parser integrieren So integrieren Sie eigene Parser in einen Lucene-Suchserver: 1. Erstellen Sie eine Klasse, die das Interface ContentParser implementiert. Beispiele für die Implementierung enthält die Datei luceneFilter*.zip. 48 Livelink WCM Server LuceneConnectorManual_de.book Page 49 Tuesday, May 16, 2006 4:51 PM Lucene-Suchserver verwalten 2. Tragen Sie den Namen der in Schritt 1 erstellten Klasse in der Datei contentminer.xml im Element <class> ein (siehe Tabelle 1 “Einträge in der Datei contentminer.xml” auf Seite 44). Search Server Connector für Lucene – Handbuch 49 LuceneConnectorManual_de.book Page 50 Tuesday, May 16, 2006 4:51 PM 50 Livelink WCM Server LuceneConnectorManual_de.book Page 51 Tuesday, May 16, 2006 4:51 PM KAPITEL 4 Index-System 4 Dieses Kapitel behandelt die Möglichkeiten, die einem Benutzer zur Beeinflussung von Collections zur Verfügung stehen. Außerdem erhalten Sie Informationen zur Anzahl der File-Handles, die eine Collection benötigt. Hinweise: Kapitel 2 “Konzepte” erläutert die grundlegende Funktionsweise des Index-Systems sowie seine Integration in Lucene. Die Funktionen zum Anlegen und Löschen von Collections sowie zum Konfigurieren ihrer Eigenschaften sind in Kapitel 3 “Lucene-Suchserver verwalten” beschrieben. 4.1 Synchronisieren Beim Synchronisieren wird der aktuelle Zustand der Objekte eines Deploymentsystems mit dem Inhalt der zugeordneten internen Collection synchronisiert, d.h., der durch das WCM-System verwaltete Dokumentensatz wird mit dem indexierten Dokumentensatz abgeglichen. Auf diese Weise ist die Konsistenz der Datenbestände gewährleistet. Search Server Connector für Lucene – Handbuch 51 LuceneConnectorManual_de.book Page 52 Tuesday, May 16, 2006 4:51 PM Kapitel 4 Automatisches Synchronisieren Aktionen im Deploymentsystem, die die Generierung oder Neugenerierung von Seiten bzw. ihrer Repräsentation im Dateisystem hervorrufen, müssen bewirken, dass die betreffenden Dokumente zur entsprechenden Collection hinzugefügt werden. Aktionen, die das Löschen von Seiten bewirken, müssen dazu führen, dass die entsprechenden Dokumente aus der Collection entfernt werden. Diese Aufgaben werden durch den Agenten “ContentMiner-Benachrichtigung” übernommen. Dieser registriert sämtliche relevanten Aktionen und führt eine entsprechende Folgeaktion für die betreffende Collection aus. Diese Form des Synchronisierens erfolgt automatisch und bedarf keiner Einflussnahme durch den Benutzer. Manuelles Synchronisieren Bei der Synchronisierung können durch unvorhersehbare Fehlfunktionen, wie z. B. ein nicht gestarteter Index-Server, fehlerhafte Netzwerkverbindungen zum Index-Server usw., bestimmte Probleme auftreten. In diesen Fällen ist ein automatisches Synchronisieren nicht möglich. Um auch im Fehlerfall die Konsistenz der Datenbestände zu gewährleisten, gibt es die Funktion des manuellen Synchronisierens einer Collection. Das manuelle Synchronisieren ist auch bei Konfigurationsänderungen einer Collection erforderlich, um die Collection der neuen Konfiguration anzupassen. Das manuelle Synchronisieren starten Sie mithilfe des Admin-Clients. Der Synchronisierungsvorgang wird intern durch den Agenten “ContentMinerBenachrichtigung” ausgeführt, und zwar jeweils auf dem Content-Server, auf dem sich das Deploymentsystem befindet, dem die Collection zugeordnet ist. 52 Livelink WCM Server LuceneConnectorManual_de.book Page 53 Tuesday, May 16, 2006 4:51 PM Index-System Hinweis: Sämtliche Aktionen und eventuell auftretende Fehlfunktionen werden in den Protokoll- und Fehlerdateien des Content-Servers gespeichert, auf dem sich das Deploymentsystem befindet und dem die interne Collection zugeordnet ist. Diese Dateien liefern Ihnen im Fehlerfall nützliche Hinweise. Weitere Informationen zum manuellen Synchronisieren finden Sie im Abschnitt “Interne Collection synchronisieren” auf Seite 40. 4.2 Kommandozeilen-Tools Die Kommandozeilen-Tools dienen der Verwaltung externer Collections. Sie erfüllen folgende Funktionen: Indexieren von Dokumenten für externe Collections Ermitteln von Informationen über externe Collections und über das verwendete Index-System Hinweis: Die Verwendung von Kommandozeilen-Tools ist nicht auf externe Collections beschränkt. Die Tools, die nur lesend auf den Index zugreifen (z. B. GetAvailableCollections, GetVersion) können auch für interne Collections sinnvoll eingesetzt werden. Die Anwendung von Tools, die schreibend auf den Index zugreifen, ist hingegen für interne Collections nicht sinnvoll, da diese Daten beim Synchronisieren der Collection verloren gehen. Die Kommandozeilen-Tools befinden sich für jeden installierten Suchserver als ausführbare Skripte (.bat bzw. .sh) im Verzeichnis {Speicherort des Index}\contentminer\{Suchservername}\ tools\. Search Server Connector für Lucene – Handbuch 53 LuceneConnectorManual_de.book Page 54 Tuesday, May 16, 2006 4:51 PM Kapitel 4 Um die Kommandozeilen-Tools auszuführen, müssen entsprechende Parameter angegeben werden, die zur Steuerung des Kommandos erforderlich sind. Durch die Parameterangaben wird einerseits festgelegt, welcher Server die Verarbeitung des Kommandos übernehmen soll, andererseits enthalten die Parameter notwendige Informationen über die eigentliche Indexierungsaktion. Die Parameter der Kommandos, die den Server bestimmen, sind für jedes Kommandozeilen-Tool identisch. Aus diesem Grund kann der Aufruf der Kommandozeilen-Tools in der Hinsicht vereinfacht werden, dass diese Standardparameter in einer Konfigurationsdatei festgelegt werden und diese Datei als Aufrufparameter angegeben wird. Hinweis: Fast alle kommandospezifischen Parameter können in der Konfigurationsdatei spezifiziert werden. Es empfiehlt sich jedoch, in der Datei nur die Parameter anzugeben, die selten Änderungen unterliegen. Konfigurationsdatei c omma nds . pr ope r ti es Standardmäßig wird bei der Installation die Konfigurationsdatei commands.properties mit den Kommandozeilen-Tools im Verzeichnis {WCM-Installationsverzeichnis}\contentminer\{Suchservername}\tools\ gespeichert. In der Datei sind Standardparameter enthalten, die den Angaben entsprechen, die bei der Installation vorgenommen wurden. Die Konfigurationsdatei könnte folgendermaßen aussehen: #------------------------------------------------------# Extract from configuration file commands.properties #------------------------------------------------------# basic values for connection - should not be changed host = wcmserver.company.example vipp = 5004 http = 5005 server = searchserver1 54 Livelink WCM Server LuceneConnectorManual_de.book Page 55 Tuesday, May 16, 2006 4:51 PM Index-System ssl ... = false Hinweise Für die Konfigurationsdatei der Kommandozeilen-Tools gilt die Syntax von Java-Properties-Dateien. Parameter sind in der folgenden Form anzugeben: {Schlüssel} = {Wert} Im Unterschied zu den Angaben in der Kommandozeile werden die Schlüssel (Parameterbezeichner) in der Konfigurationsdatei ohne vorangestelltes Minuszeichen (-) angegeben. Parameterangaben in der Kommandozeile haben Vorrang vor den entsprechenden Angaben in der Konfigurationsdatei. Allgemeine Parameter der KommandozeilenTools Die im Folgenden beschriebenen Parameter gelten für alle Kommandos. Mit ihnen werden allgemeine Einstellungen sowie das grundsätzliche Verhalten des jeweiligen Kommandos festgelegt. Für jeden Parameter werden neben seiner Bedeutung bei der Steuerung auch die Kurzform (Alternative) – sofern vorhanden – angegeben sowie Informationen darüber, ob der Parameter optional oder obligatorisch ist. Wird ein Parameter nicht angegeben, wird auf den entsprechenden Eintrag in der Datei commands.properties zurückgegriffen. Search Server Connector für Lucene – Handbuch 55 LuceneConnectorManual_de.book Page 56 Tuesday, May 16, 2006 4:51 PM Kapitel 4 Tabelle 2 – Allgemeine Parameter der Kommandozeilen-Tools Parameter Alternative Optional Beschreibung -help (ohne Wert) Ja Hilfetext: zeigt einen Hilfetext mit Angabe der für das Kommando gültigen Parameter. Das Kommando wird mit diesem Parameter nicht ausgeführt. Der Parameter kann nicht in der Properties-Datei angegeben werden. -conf Ja Configuration File: Name der Konfigurationsdatei. Mit diesem Parameter kann der Name bzw. der Ort der Konfigurationsdatei angegeben werden. Wird der Parameter nicht angegeben, wird die Datei im aktuellen Verzeichnis und mit dem Namen commands.properties erwartet. Der Parameter kann nicht in der Properties-Datei angegeben werden. -noconf (ohne Wert) Ja No Configuration File: keine Konfigurationsdatei. Unterbindet die Benutzung der Konfigurationsdatei bei der Ausführung des Kommandos. Der Parameter kann nicht in der Properties-Datei angegeben werden. -noout (ohne Wert) Ja No Output File: keine Ergebnisausgabe. Unterdrückt die Ausgabe von Ergebnissen des Kommandos. Der Parameter kann nicht in der Properties-Datei angegeben werden. -host (ohne Wert) Nein Host: Hostname des Content-Servers, auf dem der Suchserver, der das Kommando ausführen soll, läuft. Die Information wird in der Form “{Hostname}.{Domain}” angegeben. Der Wert des Parameters liefert zusammen mit den Werten der Parameter -vipp und -http die notwendigen Informationen zur Kommunikation mit dem WCM-Server. 56 Livelink WCM Server LuceneConnectorManual_de.book Page 57 Tuesday, May 16, 2006 4:51 PM Index-System Parameter Alternative Optional Beschreibung -vipp Nein VIPP-Port: Port des Content-Servers für die TCP/IP-Verbindung (siehe auch -host) -http Nein HTTP-Port: Port des Content-Servers für die HTTP-Verbindung (siehe auch -host) -server Nein Suchserver: Name des Suchservers, der das Kommando ausführen soll -ssl Nein SSL: Angabe, ob die Kommunikation mit dem Content-Server über gesicherte Verbindungen (Secure Socket Layer) erfolgen soll. Mögliche Werte sind true und false. Ausgabe der Kommandozeilen-Tools In der Ausgabe der Kommandozeilen-Tools wird zunächst eine Liste der Parameter angezeigt, die für die Ausführung des betreffenden Kommandos verwendet werden. Für Kommandos, die Informationen auslesen, wird zusätzlich die angeforderte Information aufgelistet. Wenn ein Kommando nicht ausgeführt werden kann, wird eine Fehlerbeschreibung ausgegeben, die Informationen über die Ursache enthält. Search Server Connector für Lucene – Handbuch 57 LuceneConnectorManual_de.book Page 58 Tuesday, May 16, 2006 4:51 PM Kapitel 4 AddDocument AddDocument dient zum Hinzufügen eines einzelnen, durch seinen Pfad spezifizierten Dokuments zu einer Collection. Tabelle 3 – Parameter des Kommandozeilen-Tools AddDocument Parameter Alternative Optional -id Nein Beschreibung -LuceneCollectionID Lucene Collection ID: Name der Collection, zu der das Dokument hinzugefügt werden soll -Url Nein URL: voll qualifizierte URL des Dokuments, das hinzugefügt werden soll -Path Nein Path: vollständiger Pfad im Dateisystem zu dem Dokument, das hinzugefügt werden soll Beispiel AddDocument -host wcmserver.company.example -vipp 5004 -http 5005 -server Lucene-Suchserver -LuceneCollectionID InternetSite -Url http://wcmserver.company.example/wcm/InternetSite_edit/ index.html -Path c:\webserver\InternetSite\index.html Ausgabe Es werden die verwendeten Parameter und der Name der Collection als Bestätigung der erfolgreichen Ausführung des Kommandos ausgegeben. 58 Livelink WCM Server LuceneConnectorManual_de.book Page 59 Tuesday, May 16, 2006 4:51 PM Index-System Verwendete Parameter fuer das Kommando 'AddDocument' host: wcmserver.company.example vipp: 5004 http: 5005 server: Lucene-Suchserver ssl: false Path: c:\webserver\InternetSite\index.html Url: http://wcmserver.company.example/wcm/InternetSite_edit/index.html LuceneCollectionID: InternetSite DeleteDocument DeleteDocument entfernt das spezifizierte Dokument aus einer Collection. Tabelle 4 – Parameter des Kommandozeilen-Tools DeleteDocument Parameter Alternative Optional -id Nein Beschreibung -LuceneCollectionID Lucene Collection ID: Name der Collection, aus der das Dokument entfernt werden soll -Path Nein Path: vollständiger Pfad im Dateisystem zu dem Dokument, das aus der Collection gelöscht werden soll. Das Dokument muss vorher mittels AddDocument oder AddDirectory zur Collection hinzugefügt worden sein. Search Server Connector für Lucene – Handbuch 59 LuceneConnectorManual_de.book Page 60 Tuesday, May 16, 2006 4:51 PM Kapitel 4 Beispiel DeleteDocument -host wcmserver.company.example -vipp 5004 -http 5005 -server Lucene-Suchserver -LuceneCollectionID InternetSite -Path c:\webserver\InternetSite\index.html Ausgabe Es werden die verwendeten Parameter und der Name der Collection als Bestätigung der erfolgreichen Ausführung des Kommandos ausgegeben. Verwendete Parameter fuer das Kommando 'DeleteDocument' host: wcmserver.company.example vipp: 5004 http: 5005 server: Lucene-Suchserver ssl: false Path: c:\webserver\InternetSite\index.html LuceneCollectionID: InternetSite AddDirectory Mittels AddDirectory können Dokumente aus Verzeichnissen zu einer Collection hinzugefügt werden. Die einzelnen Dokumente eines hinzugefügten Verzeichnisses sind nach Ausführung des Kommandos Bestandteil des Index. 60 Livelink WCM Server LuceneConnectorManual_de.book Page 61 Tuesday, May 16, 2006 4:51 PM Index-System Tabelle 5 – Parameter des Kommandozeilen-Tools AddDirectory Parameter Alternative Optional -id Nein Beschreibung -LuceneCollectionID Lucene Collection ID: Name der Collection, zu der Dokumente aus einem Verzeichnis hinzugefügt werden sollen -DirectoryUrl -dirUrl Nein Directory URL: URL des mit dem Parameter -Directory angegebenen Verzeichnisses, über die mit einem Webserver auf das Verzeichnis zugegriffen werden kann -Directory -dir Nein Directory: Pfad des Verzeichnisses, das rekursiv indexiert werden soll. Unterverzeichnisse werden ebenfalls indexiert. Beispiel AddDirectory -host wcmserver.company.example -vipp 5004 -http 5005 -server Lucene-Suchserver -LuceneCollectionID InternetSite -DirectoryUrl http://wcmserver.company.example/wcm/ InternetSite_edit -Directory c:\Webserver\InternetSite Ausgabe Es werden die verwendeten Parameter und der Name der Collection als Bestätigung der erfolgreichen Ausführung des Kommandos ausgegeben. Search Server Connector für Lucene – Handbuch 61 LuceneConnectorManual_de.book Page 62 Tuesday, May 16, 2006 4:51 PM Kapitel 4 Verwendete Parameter fuer das Kommando 'AddDirectory' host: wcmserver.company.example vipp: 5004 http: 5005 server: Lucene-Suchserver ssl: false DirectoryUrl: http://wcmserver.company.example/wcm/InternetSite_edit LuceneCollectionID: InternetSite Directory: c:\webserver\InternetSite DeleteDirectory DeleteDirectory entfernt die Dokumente eines Verzeichnisses, das mittels AddDirectory zu einer Collection hinzugefügt wurde, aus der Collection. Tabelle 6 – Parameter des Kommandozeilen-Tools DeleteDirectory Parameter Alternative Optional -id Nein Beschreibung -LuceneCollectionID Lucene Collection ID: Der Name der Collection, aus der Dokumente aus einem Verzeichnis entfernt werden sollen -Directory -dir Nein Directory: Wurzel des Verzeichnisbaums, dessen Dokumente aus der Collection gelöscht werden sollen. Dabei muss der Wert des Parameters ein Verzeichnis enthalten, das mittels AddDirectory in die Collection aufgenommen wurde. 62 Livelink WCM Server LuceneConnectorManual_de.book Page 63 Tuesday, May 16, 2006 4:51 PM Index-System Beispiel DeleteDirectory -host wcmserver.company.example -vipp 5004 -http 5005 -server Lucene-Suchserver -LuceneCollectionID InternetSite -Directory c:\Webserver\InternetSite Ausgabe Es werden die verwendeten Parameter und der Name der Collection als Bestätigung der erfolgreichen Ausführung des Kommandos ausgegeben. Verwendete Parameter fuer das Kommando 'DeleteDirectory' host: wcmserver.company.example vipp: 5004 http: 5005 server: Lucene-Suchserver ssl: false LuceneCollectionID: InternetSite Directory: c:\webserver\InternetSite GetAvailableCollections GetAvailableCollections gibt eine Liste aller aktuell verfügbaren Collections mit der Anzahl der in ihrem Index enthaltenen Dokumente aus. Beispiel GetAvailableCollections -host wcmserver.company.example -vipp 5004 -http 5005 -server Lucene-Suchserver Ausgabe Es werden die verwendeten Parameter und eine Liste der Collections mit der jeweiligen Anzahl der indexierten Dokumente ausgegeben. Search Server Connector für Lucene – Handbuch 63 LuceneConnectorManual_de.book Page 64 Tuesday, May 16, 2006 4:51 PM Kapitel 4 Verwendete Parameter fuer das Kommando 'GetAvailableCollections' host: wcmserver.company.example vipp: 5004 http: 5005 server: Lucene-Suchserver ssl: false ----------------------------------------------------------------------InternetSite: 518 CompanyIntranet: 233 GetVersion GetVersion gibt die Versionsnummer des Index-Servers aus. Beispiel GetVersion -host wcmserver.company.example -vipp 5004 -http 5005 -server Lucene-Suchserver Ausgabe Es werden die verwendeten Parameter und die Versionsnummer des Index-Servers ausgegeben. Verwendete Parameter fuer das Kommando 'GetVersion' host: wcmserver.company.example vipp: 5004 http: 5005 server: Lucene-Suchserver ssl: false ----------------------------------------------------------------------Version = 1.3 64 Livelink WCM Server LuceneConnectorManual_de.book Page 65 Tuesday, May 16, 2006 4:51 PM Index-System 4.3 File-Handles Eine Collection wird im Dateisystem durch eine bestimmte Menge von Dateien repräsentiert. Insbesondere auf Windows-Plattformen ist dabei die Anzahl der benötigten File-Handles zu berücksichtigen, da diese eine vom Betriebssystem vorgegebene Grenze nicht überschreiten dürfen. Die Anzahl der Dateien ist abhängig von der Zahl der so genannten Segmente, aus denen sich die Collection zusammensetzt. Die Anzahl der Dateien pro Segment unterscheidet sich für externe und interne Collections: Für externe Collections werden 10 Dateien benötigt, für interne Collections standardmäßig 14 Dateien, wobei jedes indexierte Metadatenfeld eine zusätzliche Datei benötigt. Hinweise Um die Anzahl der benötigten File-Handles für interne Collections zu minimieren, nehmen Sie möglichst wenig Metadaten in den Index auf. Jedes zusätzlich indexierte Metadatum benötigt ein weiteres File-Handle pro Segment. Wenn Dokumente zum Index hinzugefügt werden, werden gegebenenfalls neue Segmente angelegt. Durch eine Optimierung des Indexes können Sie die Anzahl der Segmente reduzieren. Weitere Informationen zu File-Handles und Segmenten erhalten Sie im Internet unter http://lucene.apache.org/ sowie in der FAQ zu Lucene unter http://wiki.apache.org/jakarta-lucene/LuceneFAQ. Search Server Connector für Lucene – Handbuch 65 LuceneConnectorManual_de.book Page 66 Tuesday, May 16, 2006 4:51 PM 66 Livelink WCM Server LuceneConnectorManual_de.book Page 67 Tuesday, May 16, 2006 4:51 PM KAPITEL 5 Query-System 5 Dieses Kapitel behandelt das Query-System. Anhand von Beispielen wird die Implementierung von Suchanfragen beschrieben, wobei Teilbereiche der Suche schrittweise erweitert werden. Das Query-System dient dazu, Suchanfragen zu generieren und diese zu verarbeiten. Es stellt folgende Komponenten bereit: Query-Server, der die Suchanfrage annimmt und verarbeitet Klassenbibliothek mit dem VipContentMinerBean sowie zahlreiche Hilfsklassen zur Implementierung von Suchanfrage-Seiten (JSPSeiten) In den folgenden Abschnitten wird der Zusammenhang der Komponenten im Detail erläutert. Dabei wird anhand von Beispielen die Verwendung der Content Miner-Klassen verdeutlicht. Sämtliche Beispiele finden Sie auch im Verzeichnis {WCM-Installationsverzeichnis}\examples\ SearchServer\. Hinweis: Eine genaue Schnittstellenbeschreibung der einzelnen Klassen finden Sie in der Javadoc zu Content Miner. Die folgenden Abschnitte bauen aufeinander auf, wobei zunächst eine einfache Suche beschrieben wird und anschließend die einzelnen Teilbereiche der Suche erweitert werden. Zugunsten einer besseren Lesbarkeit wird dabei auf die Darstellung von nicht relevantem HTML-Code verzichtet. Der Aufbau der Beispielbeschreibungen stellt sich wie folgt dar: Search Server Connector für Lucene – Handbuch 67 LuceneConnectorManual_de.book Page 68 Tuesday, May 16, 2006 4:51 PM Kapitel 5 Ausführen einer einfachen Suche (siehe folgenden Abschnitt) Verwenden der Konfigurationsdaten (siehe Abschnitt 5.2 “Konfigurationsdaten verwenden” auf Seite 72) Integrieren des WCM-Systems in das Ergebnis der Suchanfrage (siehe Abschnitt 5.3 “WCM-System in das Ergebnis der Suchanfrage integrieren” auf Seite 76) 5.1 Einfache Suche ausführen Den Quellcode des Beispiels finden Sie im Unterverzeichnis \simple\ des Verzeichnisses {WCM-Installationsverzeichnis}\examples\ SearchServer\. Dieser Abschnitt behandelt folgende Vorgänge: Erstellen eines einfachen Eingabeformulars Instanziieren und Benutzen des VipContentMinerBean Erstellen und Benutzen einer Query-Instanz Anzeigen des Suchergebnisses In der einfachsten Form setzt sich eine Suchanfrage aus zwei Komponenten zusammen: einer HTML-Seite, die ein Such-Interface beinhaltet und einer JSP-Seite (Ergebnisseite), die die Suche ausführt und die gefundenen Treffer auflistet. Die Aufrufreihenfolge stellt sich wie folgt dar: search.htm → result.jsp Im folgenden Beispiel wird die Definition des Eingabeformulars dargestellt: 68 Livelink WCM Server LuceneConnectorManual_de.book Page 69 Tuesday, May 16, 2006 4:51 PM Query-System Listing 1 (search.htm) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <html> <body> <form name="search" method="post" action="result.jsp"> Search:<br> <P>Server</P> <INPUT TYPE="TEXT" SIZE="20" NAME="server"> <P>Colletion</P> <INPUT TYPE="TEXT" SIZE="20" NAME="collection"> <P>Query</P> <textarea NAME="query" ROWS="5" COLS="50"></textarea> <input type="submit" value="submit"> </form> </body> </html> Das Eingabeformular search.htm (Listing 1) enthält neben dem Eingabefeld für den Suchtext und einer Schaltfläche submit zwei versteckte Datenfelder, in denen der Name der zu durchsuchenden Collection und des zugehörigen Suchservers angegeben sind. Nach Auswahl der Schaltfläche submit wird die Ergebnisseite aufgerufen. Listing 2 zeigt die Ergebnisseite result.jsp. Listing 2 (result.jsp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <html> <body> <!-- setup page --> <%@ page language = "java" import = "java.util.Iterator, de.gauss.vip.contentminer.config.*, de.gauss.vip.contentminer.query.*" %> <!-- instantiate application entry point --> <jsp:useBean id="search" class="de.gauss.vip.contentminer.VipContentMinerBean" scope="session" /> Search Server Connector für Lucene – Handbuch 69 LuceneConnectorManual_de.book Page 70 Tuesday, May 16, 2006 4:51 PM Kapitel 5 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 70 <% // getting request parameter String queryStr = request.getParameter("query"); String collection = request.getParameter("collection"); String server = request.getParameter("server"); if (queryStr==null) { out.println("Please type in a query!"); } else if (server.equals("change SearchServer") || collection.equals("change Collection")) { out.println("You have to modify the search page!"); } else { // executing query Query query = search.createQuery(server); query.setCollection(collection); query.setSearchString(queryStr); HitList list=query.process(de.gauss.vip.portalmanager. SessionBean.getCurrentContextId(request)); // display result out.println("hit count: " + list.size() + "<br>"); Iterator iter = list.values().iterator(); int k=0; while (iter.hasNext()) { k++; HitDocument doc=(HitDocument)iter.next(); String url=doc.getUrl(); String score=doc.getProperty(HitDocument.DOC_SCORE, ""); String title=doc.getProperty(HitDocument.DOC_TITLE, url); out.println(k + ". Score: "+ score); out.println("<a href=\""+url+"\">"+title+"</a><br>"); } } %> </body> </html> Livelink WCM Server LuceneConnectorManual_de.book Page 71 Tuesday, May 16, 2006 4:51 PM Query-System Die Ergebnisseite result.jsp (Listing 2) definiert zunächst die auszugebende Seite (Zeilen 4–9). In den Zeilen 11–15 wird das VipContentMinerBean mit dem Scope “Session” instanziiert, das den Startpunkt für jede Suche darstellt. In Zeile 17 ff. findet die eigentliche Verarbeitung statt. Zuerst werden dabei die Übergabeparameter übernommen und geprüft (Zeile 19 ff.). Die Übergabeparameter entsprechen den im HTML-Formular definierten Feldern. Im Fall ungültiger Parameter wird die Verarbeitung mit einer Exception abgebrochen. In Zeile 35 wird über das VipContentMinerBean eine Query-Instanz erzeugt, über die die eigentliche Suche durchgeführt wird. Vor dem Ausführen der Query (Zeile 38) wird diese mit Informationen versorgt, die für das Ausführen relevant sind. In diesem Beispiel werden die Collection und der eingegebene Such-String gesetzt. Als Ergebnis erhält der Programmierer eine Trefferliste in Form einer HitList. Zuletzt wird die Trefferliste ausgewertet. Dies erfolgt in Zeile 41 ff. Die Anzahl der Treffer wird ausgegeben und die Trefferliste in einer Schleife abgearbeitet (Zeile 44 ff.). Die Trefferliste verhält sich dabei wie eine normale Collection aus dem WCM Java API. Über einen Iterator wird jedes Dokument in der Trefferliste durchlaufen (Zeile 47) und einzeln ausgegeben (Zeile 52 f.). Hinweis: Sie können mit dem Search Server Connector für Lucene auch Metadaten von WCM-Objekten suchen. Informationen zum Formulieren einer entsprechenden Suchanfrage finden Sie in Abschnitt “Felder (Fields)” auf Seite 86. Search Server Connector für Lucene – Handbuch 71 LuceneConnectorManual_de.book Page 72 Tuesday, May 16, 2006 4:51 PM Kapitel 5 5.2 Konfigurationsdaten verwenden Den Quellcode des Beispiels finden Sie im Unterverzeichnis \config\ des Verzeichnisses {WCM-Installationsverzeichnis}\examples\ SearchServer\. Der Abschnitt behandelt folgende Punkte: Ermitteln der installierten Suchserver Ermitteln der verfügbaren Collections Über das VipContentMinerBean hat der Programmierer Zugriff auf alle Konfigurationsdaten von Content Miner. Das Bean bietet Zugriffsmethoden an, mit denen auf Suchserver und deren Collections zugegriffen werden kann. Die Listings 3, 4 und 5 erweitern das obige Beispiel um die Funktionalität, den Suchserver und eine zugehörige Collection über eigene Formulare auszuwählen. Die Aufrufreihenfolge stellt sich wie folgt dar: server.jsp → collection.jsp → search.jsp → result.jsp Listing 3 zeigt das Formular server.jsp zur Auswahl des Servers. Listing 3 (server.jsp) 1 2 3 4 5 6 7 8 9 10 11 12 13 72 <html> <body> <!-- setup page --> <%@ page language = "Java" import = "java.util.List, de.gauss.vip.contentminer.config.SearchServer" %> <!-- instantiate application entry point --> <jsp:useBean id="search" class="de.gauss.vip.contentminer.VipContentMinerBean" scope="session" /> Livelink WCM Server LuceneConnectorManual_de.book Page 73 Tuesday, May 16, 2006 4:51 PM Query-System 14 15 16 17 18 19 20 21 22 23 24 25 26 27} 28 29 30 31 32 33 34 <!-- form --> <form action="collection.jsp" name="select server"> Select server:<br> <% List l=search.getSearchServers(); for (int i=0; i<l.size(); i++) { SearchServer server=(SearchServer)l.get(i); %> <br><input type="radio" name="server" VALUE="<%= server.getServerName() %>" CHECKED> <%= server.getServerName() %> (servername: <%= server.getVipServerName() %>, hostname:<%= server.getHostName() %>)<br> <% %> <br> <input type="submit" name="submit" value="next"><br> </form> </body> </html> Das Formular zur Auswahl des Servers server.jsp (Listing 3) enthält eine Liste aller verfügbaren Suchserver. Aus dieser Liste kann ein Suchserver ausgewählt werden. Nach Auswahl der Schaltfläche next wird das nächste Formular aufgerufen, das die zugehörigen Collections auflistet. Nach der Seitendefinition und der Instanziierung des VipContentMinerBean (Zeile 4 ff.) werden vom VipContentMinerBean alle verfügbaren Suchserver ermittelt (Zeile 18). Die zurückgegebene Liste wird anschließend durchlaufen und der jeweilige Suchserver extrahiert (Zeile 19 ff.). Die Ausgabe als Formularelement erfolgt in Zeile 23 ff. Im folgenden Quellcode wird das Formular collection.jsp zur Auswahl der Collection dargestellt. Listing 4 (collection.jsp) 1 2 <html> <body> Search Server Connector für Lucene – Handbuch 73 LuceneConnectorManual_de.book Page 74 Tuesday, May 16, 2006 4:51 PM Kapitel 5 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 <%@ page language = "Java" import = "java.util.List, java.util.Iterator, de.gauss.vip.contentminer.config.Collection" %> <jsp:useBean id="search" class="de.gauss.vip.contentminer.VipContentMinerBean" scope="session" /> <form action="search.jsp" method="post" name="select collections"> <% // getting request parameter String server=request.getParameter("server"); %> Select collection:<br> <input type="hidden" name="server" value="<%= server %>"> <% // getting collections List l=search.getCollections(server); for (int i=0; i<l.size(); i++) { Collection col=(Collection)l.get(i); %> <br><input type="radio" name="collection" value="<%= col.getCollectionName() %>"> <%= col.getCollectionName() %> / <%= col.getCollectionType() %> <% if (col.isCollectionInternal()) { out.println("website:"+col.getWebsiteName()); out.println(", deployment name:" +col.getDeploymentSystemName()+ "<br>"); } } %> <br> <input type="submit" name="submit" value="next"><br> </form> </body> </html> Das Formular zur Auswahl der Collection collection.jsp (Listing 4) ermittelt den ausgewählten Suchserver aus dem vorangegangenen Formular und zeigt alle verfügbaren Collections an. Nach Auswahl einer Collection und Klicken der Schaltfläche next wird das Suchformular aufge- 74 Livelink WCM Server LuceneConnectorManual_de.book Page 75 Tuesday, May 16, 2006 4:51 PM Query-System rufen, in dem die eigentliche Suchanfrage eingegeben werden kann. Um die Auswahl des Servers auch an das Suchformular weiterzuleiten, wird zusätzlich ein verstecktes Formularfeld mit dem Servernamen in das Formular integriert. Nach der Seitendefinition und der Instanziierung des VipContentMinerBean (Zeile 4 ff.) wird aus dem Request-Objekt der Name des Suchservers ermittelt (Zeile 15). Nachdem das versteckte Server-Feld geschrieben wurde (Zeile 18), werden über das Bean alle Collections ermittelt, die dem Suchserver zugeordnet sind (Zeile 21). Die zurückgegebene Liste wird anschließend durchlaufen, und die jeweiligen Collections werden extrahiert (Zeile 22 ff.). Die Ausgabe als Formularelement erfolgt in Zeile 26 ff. Listing 5 zeigt das Suchformular search.jsp. Listing 5 (search.jsp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 <html> <body> <%@ page language = "Java"%> <form name="search" method="post" action="result.jsp"> <% // getting request parameter String server=request.getParameter("server"); String collection=request.getParameter("collection"); %> <input type="hidden" name="server" value="<%= server %>"> <input type="hidden" name="collection" value="<%= collection %>"> Search:<br> <textarea NAME="query" ROWS="5" COLS="50"></textarea> <br> <input type="submit" name="submit" value="next"><br> </form> </body> </html> Search Server Connector für Lucene – Handbuch 75 LuceneConnectorManual_de.book Page 76 Tuesday, May 16, 2006 4:51 PM Kapitel 5 Das Suchformular search.jsp (Listing 5) entspricht strukturell dem Suchformular search.htm aus dem ersten Beispiel (Listing 1). Hier werden jetzt die versteckten Felder des Formulars mit den Inhalten der vorangegangenen Formulare gefüllt (Zeile 9 f.). Der weitere Verlauf stellt sich analog zum ersten Beispiel dar. Die Ergebnisseite result.jsp wird aufgerufen und zeigt das Ergebnis an. 5.3 WCM-System in das Ergebnis der Suchanfrage integrieren Den Quellcode des Beispiels finden Sie im Unterverzeichnis \contentmanager\ des Verzeichnisses {WCMInstallationsverzeichnis}\examples\SearchServer\. Dieser Abschnitt behandelt folgende Schwerpunkte: Berücksichtigen eines angemeldeten Benutzers Auswählen und Ausgeben von weiteren Tags im Suchergebnis Setzen eines bestimmten Deploymentsystems in der Ergebnismenge Suchserver können durch das Anlegen interner Collections sehr eng in das WCM-System integriert werden. Auf diese Weise stehen bei einer Suchanfrage mehrere Funktionen zur Verfügung, die das Ergebnis einer Suche beeinflussen können. Voraussetzung für diese Funktionen ist jedoch, dass die zugrunde liegende Website dem entsprechenden Server über den Admin-Client zugeordnet wurde. Durch die Integration mit dem WCM-System können die Zugriffsrechte des angemeldeten Benutzers berücksichtigt werden. Dabei werden bei jeder Suche, die sich auf interne Collections bezieht, implizit die Zugriffsrechte auf den zugrunde liegenden Objekten mit berücksichtigt. Im Such- 76 Livelink WCM Server LuceneConnectorManual_de.book Page 77 Tuesday, May 16, 2006 4:51 PM Query-System ergebnis sind daher nur die Treffer enthalten, für die der Benutzer eine Zugriffsberechtigung hat. Ist der Benutzer nicht angemeldet, wird er als anonymer Benutzer interpretiert und hat die Zugriffsrechte des Principals “Jeder” (weitere Informationen dazu finden Sie im Content-Client-Benutzerhandbuch). Auf diese Weise können personalisierte Suchen durchgeführt werden. Eine andere Funktion bezieht sich auf die Daten eines Treffers in einer Treffermenge. Über das VipContentMinerBean ist es möglich, zusätzliche Attribute aus Livelink WCM Server zu setzen. Für jedes gefundene Dokument werden diese Attribute einem HitDocument hinzugefügt. Es können dabei alle über das WCM Java API verfügbaren Attribute verwendet werden. Die dritte Funktion betrifft die Manipulation der URL eines Treffers. Eine interne Collection ist immer genau einem Deploymentsystem zugeordnet, das die Daten für die Indexierung bereitstellt. In einer komplexen Systemumgebung können jedoch mehrere Deploymentsysteme zugunsten einer besseren Lastverteilung parallel auf verschiedenen Rechnern eingerichtet sein. Sämtliche Deploymentsysteme beziehen sich dabei auf dieselbe Website. In diesem Fall ist eine Indexierung aller Deploymentsysteme nicht erforderlich. Es genügt, nur ein Deploymentsystem zu indexieren. Erfolgt eine Suche ausgehend von einem nicht indexierten Deploymentsystem auf der Collection eines indexierten Deploymentsystems, so weisen die URLs in der Treffermenge auf das indexierte Deploymentsystem. Gewünscht ist jedoch, dass die URLs auf das Deploymentsystem weisen, von dem aus gesucht wird. Zu diesem Zweck muss das entsprechende Deploymentsystem der Collection in der Suchanfrage zugeordnet werden. Auf diese Weise werden die URLs der Treffermenge in die URLs des zugeordneten Deploymentsystems umgewandelt. Wenn über mehrere Collections gesucht wird, muss für jede Collection eine Zuordnung erfolgen. Zuordnungen werden mithilfe der Methode Query.setProperty(collection, deployment_system) gesetzt. Search Server Connector für Lucene – Handbuch 77 LuceneConnectorManual_de.book Page 78 Tuesday, May 16, 2006 4:51 PM Kapitel 5 In der Regel werden bei dem beschriebenen Szenario nur Deploymentsysteme vom gleichen Typ, z. B. “Edit”, eingesetzt. Jedoch können das indexierte Deploymentsystem und das zugeordnete Deploymentsystem auch von einem unterschiedlichen Typ sein, z.B. vom Typ “Edit” und “Produktion”. In diesem Fall sind folgende Einschränkungen zu berücksichtigen: Ein Treffer, der nur im indexierten System, nicht aber im zugeordneten Deploymentsystem gefunden wird, wird aus der Treffermenge entfernt. Dies ist z.B. der Fall, wenn das indexierte System vom Typ “Edit” und das zugeordnete System vom Typ “QS” ist, aber das dem Trefferdokument entsprechende Objekt noch nie der Qualitätssicherung vorgelegt worden ist. Wenn das Objekt in beiden Deploymentsystemen vorhanden ist, aber in unterschiedlichen Versionen vorliegt, kann sich der Inhalt des angezeigten Treffers vom Inhalt des indexierten Objekts unterscheiden. Hinweis: Das indexierte und das zugeordnete Deploymentsystem müssen sich immer auf dieselbe Website beziehen. Das folgende Beispiel ermittelt die verfügbaren Suchserver und die dem Server zugeordneten internen Collections. Bei der Eingabe einer Suchbedingung können zusätzlich durch das WCM-System verwaltete Attribute ausgewählt werden, die im Ergebnis mit angezeigt werden sollen. Vor dem Absetzen der eigentlichen Suche wird ein Deploymentsystem gesetzt, für das die URLs im Ergebnis angezeigt werden sollen. Das angezeigte Suchergebnis stellt nur die Treffer dar, für die der zurzeit angemeldete Benutzer Zugriffsrechte besitzt. Die Aufrufreihenfolge stellt sich wie folgt dar: server.jsp → collection.jsp → search.jsp → result.jsp Listing 6 zeigt das Suchformular search.jsp. 78 Livelink WCM Server LuceneConnectorManual_de.book Page 79 Tuesday, May 16, 2006 4:51 PM Query-System Listing 6 (search.jsp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 <html> <body> <%@ page language = "Java"%> <form name="search" method="post" action="result.jsp"> <% // getting request parameter String server=request.getParameter("server"); String collection=request.getParameter("collection"); %> <input type="hidden" name="server" value="<%= server %>"> <input type="hidden" name="collection" value="<%= collection %>"> Input: <input name="query"><br> <br>Select WCM meta data that should be added to the search results:<br> <input type="checkbox" name="tag" value="acl">acl<br> <input type="checkbox" name="tag" value="acl_owner">owner of the acl<br>> <input type="checkbox" name="tag" value="all_children"> all_children<br> <input type="checkbox" name="tag" value="category">category<br> <input type="checkbox" name="tag" value="created_by"> created_by<br> <input type="checkbox" name="tag" value="date_created"> date_created<br> <input type="checkbox" name="tag" value="date_expire"> date_expire<br> <input type="checkbox" name="tag" value="date_released"> date_released<br> <input type="checkbox" name="tag" value="date_released_at"> date_released_at<br> <input type="checkbox" name="tag" value="deployment_hint"> deployment_hint<br> <input type="checkbox" name="tag" value="description"> description<br> <input type="checkbox" name="tag" value="direct_release"> direct_release<br> <input type="checkbox" name="tag" value="email_edit"> email_edit<br> <input type="checkbox" name="tag" value="email_qa">email_qa<br> <input type="checkbox" name="tag" value="email_release"> email_release<br> <input type="checkbox" name="tag" value="filename">filename<br> <input type="checkbox" name="tag" value="keywords">keywords<br> <input type="checkbox" name="tag" value="language">language<br> Search Server Connector für Lucene – Handbuch 79 LuceneConnectorManual_de.book Page 80 Tuesday, May 16, 2006 4:51 PM Kapitel 5 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 <input type="checkbox" name="tag" value="linked_from"> linked_from<br> <input type="checkbox" name="tag" value="links_to">links_to<br> <input type="checkbox" name="tag" value="modified_by"> modified_by<br> <input type="checkbox" name="tag" value="oty_name">oty_name<br> <input type="checkbox" name="tag" value="pathname">pathname<br> <input type="checkbox" name="tag" value="released_by"> released_by<br> <input type="checkbox" name="tag" value="state">state<br> <input type="checkbox" name="tag" value="sta_name">sta_name<br> <input type="checkbox" name="tag" value="subtitle">subtitle<br> <input type="checkbox" name="tag" value="suffix">suffix<br> <input type="checkbox" name="tag" value="target_group"> target_group<br> <input type="checkbox" name="tag" value="template">template<br> <input type="checkbox" name="tag" value="title">title<br> <input type="checkbox" name="tag" value="topic">topic<br> <input type="checkbox" name="tag" value="type">type<br> <input type="checkbox" name="tag" value="topic">topic<br> <input type="checkbox" name="tag" value="version">version<br> <input type="checkbox" name="tag" value="website">website<br> <input type="checkbox" name="tag" value="topic">topic<br> <br> <input type="submit" name="submit" value="next"><br> </form> </body> </html> Im Suchformular search.jsp können zusätzlich zur Eingabe einer Suchanfrage (Zeile 14) noch Attribute ausgewählt werden (Zeile 16 ff.), die das Suchergebnis ergänzen. Die eingegebenen Parameter werden anschließend an die Ergebnisseite übergeben. Das Listing der Ergebnisseite result.jsp stellt sich wie folgt dar. Listing 7 (result.jsp) 1 2 3 4 5 6 80 <html> <body> <!-- setup page --> <%@ page language = "java" import = "java.util.Iterator, Livelink WCM Server LuceneConnectorManual_de.book Page 81 Tuesday, May 16, 2006 4:51 PM Query-System 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 de.gauss.lang.StringValue, de.gauss.vip.portalmanager.SessionBean, de.gauss.vip.contentminer.config.*, de.gauss.vip.contentminer.query.*" %> <!-- instantiate application entry point --> <jsp:useBean id="search" class="de.gauss.vip.contentminer.VipContentMinerBean" scope="session" /> <% // getting request parameter String collection = request.getParameter("collection"); String server = request.getParameter("server"); String queryStr = request.getParameter("query"); if (queryStr==null) out.println("No query string defined!"); // setting parameter String[] tags = request.getParameterValues("tag"); if (tags!=null) { for (int i=0; i<tags.length; i++) search.addDefaultAttribute(tags[i]); } // executing query Query query = search.createQuery(server); query.setCollection(collection); query.setSearchString(queryStr); query.setProperty(Query.DEPLOYMENT_SYSTEM, "{VIPDEPLOYMENT_NAME}"); HitList list=query.process(SessionBean.getCurrentContextId (request)); // display result out.println("hit count: " + list.size()); out.println(" user: " + SessionBean.getCurrentUserProfile(request).getUserName() + "<br>"); Iterator iter = list.values().iterator(); int k=0; while (iter.hasNext()) { k++; HitDocument doc=(HitDocument)iter.next(); String url=doc.getUrl(); String score=doc.getProperty(HitDocument.DOC_SCORE, ""); Search Server Connector für Lucene – Handbuch 81 LuceneConnectorManual_de.book Page 82 Tuesday, May 16, 2006 4:51 PM Kapitel 5 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 String title=doc.getProperty(HitDocument.DOC_TITLE, url); out.println(k + ". Score: "+ score); out.println("<a href=\""+url+"\">"+title+"</a><br>"); if (tags!=null) { for (int i=0; i<tags.length; i++) { out.println(tags[i]+"="+doc.getProperty (new StringValue(tags[i]), "")); } } out.println("<br>"); } %> </body> </html> Die Ergebnisseite result.jsp wertet die übergebenen Parameter (Zeile 20 ff.) aus dem Request-Objekt aus und ermittelt die anzuzeigenden Attribute (Zeile 28), die im VipContentMinerBean als Standardattribute gesetzt werden (Zeile 31 f.). Anschließend wird ein Query-Objekt erzeugt (Zeile 35), in dem das aktuelle Deploymentsystem gesetzt wird (Zeile 38), das über ein WCM-Tag beim Generieren auf die Seite geschrieben wird. Die Query (Zeile 39) wird mit dem aktuell angemeldeten Benutzer, der über das SessionBean aus dem Portal Manager API ermittelt wird, ausgeführt. Bei der Anzeige wird dieser ebenfalls über das SessionBean angezeigt (Zeile 43). Zusätzlich zu den bereits bekannten Attributen werden alle zusätzlich selektierten Informationen mit ausgegeben (Zeile 58 ff.). 82 Livelink WCM Server LuceneConnectorManual_de.book Page 83 Tuesday, May 16, 2006 4:51 PM Query-System Search Server Connector für Lucene – Handbuch 83 LuceneConnectorManual_de.book Page 84 Tuesday, May 16, 2006 4:51 PM 84 Livelink WCM Server LuceneConnectorManual_de.book Page 85 Tuesday, May 16, 2006 4:51 PM ANHANG A Abfragesyntax A Zu der Volltextsuchmaschine Lucene gehört die spezielle Abfragesyntax des so genannten Query Parsers. Mithilfe dieser Abfragesyntax können Anfragen an das Query-System formuliert werden. Die Abfragesyntax bietet die Möglichkeit, auch komplexe Anfragen an das Query-System zu stellen und dadurch die in einer Collection enthaltenen Dokumente nach verschiedensten Kriterien zu filtern. Im Folgenden finden Sie eine Übersicht der Elemente der Abfragesyntax. Begriffe (Terms) Eine Suchanfrage wird unterteilt in Begriffe und Operatoren. Dabei unterscheidet Lucene zwei Arten von Begriffen: einfache Begriffe (Terms): Ein einfacher Begriff ist ein einzelnes Wort, z. B. Produktübersicht oder Website. Ausdrücke (Phrases): Ein Ausdruck ist eine Gruppe von Wörtern, die in doppelte Anführungszeichen eingeschlossen ist, z. B. “Aktuelle Produktempfehlung”. Um eine komplexe Anfrage zu formulieren, lassen sich verschiedene Begriffe mithilfe von Verknüpfungsoperatoren verbinden. Search Server Connector für Lucene – Handbuch 85 LuceneConnectorManual_de.book Page 86 Tuesday, May 16, 2006 4:51 PM Anhang A Felder (Fields) Lucene unterstützt die Suche nach Daten, die in Felder aufgeteilt sind. Bei einer Suchanfrage können Sie entweder ein Feld angeben, in dem gesucht werden soll, oder das Standardfeld benutzen. Die Namen der Felder und das Standardfeld sind abhängig von der Implementierung. Ein Feld durchsuchen Sie, indem Sie den Feldnamen eingeben, gefolgt von einem Doppelpunkt (:) und dem Suchbegriff. Beispiel Der Lucene-Index enthält verschiedene Felder für die WCM-Metadaten und das Standardfeld content für den Inhalt des WCM-Objekts. Um das Dokument mit dem Titel “Aktuelle Produktübersicht” und dem Inhalt “Unsere besondere Produktempfehlung lautet” zu suchen, geben Sie folgenden Suchausdruck ein: title:"Aktuelle Produktübersicht" AND content:Produktempfehlung Da das Standardfeld nicht explizit angegeben werden muss, entspricht dies dem folgenden Suchausdruck: title:"Aktuelle Produktübersicht" AND Produktempfehlung Die Angabe des Feldes bezieht sich nur auf den Begriff, dem der Feldname direkt vorangestellt ist. Der folgende Suchausdruck sucht im Titel nur nach dem Begriff “Aktuelle”; die Begriffe “Produktübersicht” und “Produktempfehlung” werden im Inhalt des Dokuments gesucht. title:Aktuelle Produktübersicht AND Produktempfehlung 86 Livelink WCM Server LuceneConnectorManual_de.book Page 87 Tuesday, May 16, 2006 4:51 PM Abfragesyntax Suche mit Platzhaltern (Wildcards) Lucene erlaubt die Suche mit Platzhaltern, wobei die Platzhalter als Stellvertreter für ein Zeichen oder eine Zeichengruppe eingesetzt werden können. Mit einem Fragezeichen (?) wird genau ein Zeichen ersetzt, mit dem Sternchen (*) mehrere Zeichen. Hinweis: Platzhalter können innerhalb und am Ende eines Suchbegriffs stehen, nicht jedoch am Beginn des Suchbegriffs. Beispiel Um nach den Begriffen “Text” und “Test” zu suchen, können Sie den folgenden Suchausdruck verwenden: Te?t Nach den Begriffen “Produktübersicht” und “Produktempfehlung” suchen Sie mithilfe des folgenden Suchausdrucks: Produkt* Undeutliche Suche (Fuzzy Search) Lucene unterstützt die undeutliche Suche, basierend auf dem Levenshtein-Distanz-Algorithmus. Um eine undeutliche Suche zu formulieren, verwenden Sie eine Tilde (~) am Ende eines einzelnen Begriffs. Beispiel Der Suchausdruck lachen~ würde u.a. die Begriffe “machen”, “wachen” und “Laschen” finden. Search Server Connector für Lucene – Handbuch 87 LuceneConnectorManual_de.book Page 88 Tuesday, May 16, 2006 4:51 PM Anhang A Distanzsuche (Proximity Search) Lucene erlaubt das Suchen von Begriffen, die eine bestimmte maximale Distanz voneinander entfernt sind. Um eine Distanzsuche zu formulieren, muss eine Tilde (~) gefolgt von der Anzahl der Wörter, die die Begriffe maximal von einander entfernt sein dürfen, hinter dem Ausdruck angegeben werden. Beispiel Nach einem Dokument, in dem die Begriffe “Produktübersicht” und “Produktempfehlung” innerhalb eines Abstands von 10 Wörtern vorkommen, suchen Sie mit dem folgenden Suchausdruck: "Produktübersicht Produktempfehlung"~10 Bereichssuche (Range Search) Mithilfe einer Bereichssuche lassen sich die Dokumente finden, deren Feldwerte sich innerhalb eines Suchbereichs befinden. Dabei kann angegeben werden, ob die untere und obere Grenze dieses Bereichs zum Suchbereich gehören. Suchbereiche, die die Grenzen einschließen, werden in eckigen Klammern angegeben. Suchbereiche, die die Grenzen ausschließen, werden in geschweiften Klammern angegeben. Die Sortierung erfolgt lexikographisch. Beispiel Mit folgendem Suchausdruck suchen Sie nach allen Dokumenten, die zwischen dem 01.09.2003 und dem 31.10.2003 angelegt wurden (einschließlich dieser beiden Daten): date_created:[20030901 TO 20031031] Um alle Dokumente zu suchen, deren Titel zwischen “Aida” und “Carmen” liegen (ausschließlich der beiden Titel), verwenden Sie folgenden Suchausdruck: title:{Aida TO Carmen} 88 Livelink WCM Server LuceneConnectorManual_de.book Page 89 Tuesday, May 16, 2006 4:51 PM Abfragesyntax Verstärkungsfaktoren Lucene erlaubt es, einen Begriff mit einem Verstärkungsfaktor zu versehen. Dies wirkt sich auf die Relevanz und damit auf die Reihenfolge der Suchergebnisse aus. Um einem Begriff innerhalb einer Suchanfrage einen Verstärkungsfaktor zuzuordnen, geben Sie hinter dem entsprechenden Begriff das Exponentialzeichen (^) gefolgt von dem Verstärkungsfaktor (Zahl größer Null) an. Standardmäßig ist der Verstärkungsfaktor 1. Beispiel Mit folgendem Suchausdruck suchen Sie nach den Begriffen “Produktübersicht” und “Produktempfehlung”; Suchergebnisse, die den Begriff “Produktübersicht” enthalten, werden dabei viermal stärker gewichtet als Suchergebnisse, die den Begriff “Produktempfehlung” enthalten. Produktübersicht^4 Produktempfehlung Sie können auch Ausdrücken einen Verstärkungsfaktor zuordnen: "Produktübersicht November"^4 "Produktübersicht Oktober" Verknüpfungsoperatoren Mithilfe von Verknüpfungsoperatoren lassen sich die Begriffe einer Suchanfrage logisch verbinden. Die folgende Tabelle beinhaltet die Operatoren, die Lucene unterstützt. Hinweis: Bitte beachten Sie, dass die booleschen Operatoren in Großbuchstaben geschrieben werden müssen. Search Server Connector für Lucene – Handbuch 89 LuceneConnectorManual_de.book Page 90 Tuesday, May 16, 2006 4:51 PM Anhang A Tabelle 7 – Verknüpfungsoperatoren in Suchanfragen Operator Alternative Beschreibung || Das logische ODER dient zur Verknüpfung mehrerer Begriffe, von denen mindestens einer im Suchergebnis vorkommen muss. Beispiel OR Hinweis: Wenn zwei Suchbegriffe durch keinen booleschen Operator verknüpft sind, wird standardmäßig OR verwendet. "Aktuelle Produktübersicht" OR Produktempfehlung entspricht "Aktuelle Produktübersicht" Produktempfehlung AND && Das logische UND dient zur Verknüpfung mehrerer Begriffe, die alle im Suchergebnis vorkommen müssen. "Aktuelle Produktübersicht" AND Produktempfehlung + Dieser Operator (ohne Leerzeichen vor einen Begriff gesetzt) dient dazu, den Begriff in das Suchergebnis einzuschließen. Der Begriff muss im Suchergebnis vorkommen. Folgender Suchausdruck sucht nach Dokumenten, in denen “Produktempfehlung” vorkommen muss, “Produktübersicht” vorkommen kann: +Produktempfehlung Produktübersicht 90 Livelink WCM Server LuceneConnectorManual_de.book Page 91 Tuesday, May 16, 2006 4:51 PM Abfragesyntax Operator Alternative Beschreibung ! Das logische NICHT dient zum Ausschließen bestimmter Begriffe, die dann nicht im Suchergebnis vorkommen dürfen. Beispiel NOT Hinweis: Dieser Operator kann nicht in Suchausdrücken mit nur einem Begriff verwendet werden. "Produktübersicht November" NOT Produktempfehlung Folgender Suchausdruck liefert kein Ergebnis: NOT Produktempfehlung Dieser Operator (ohne Leerzeichen vor einen Begriff gesetzt) dient dazu, Begriffe aus dem Suchergebnis auszuschließen. Der Begriff darf im Suchergebnis nicht vorkommen. – "Produktübersicht November" -Produktempfehlung Gruppieren von Begriffen Lucene erlaubt die Verwendung von runden Klammern, um Begriffe zu gruppieren und damit Suchanfragen übersichtlich zu formulieren. Beispiel Mit folgendem Suchausdruck suchen Sie nach Dokumenten, die den Begriff “Produktübersicht” und einen der Begriffe “Oktober” oder “November” enthalten: (Oktober OR November) AND Produktübersicht Um nach Dokumenten zu suchen, die im Titel die Begriffe “Produktübersicht November” und “Produktempfehlung” enthalten, verwenden Sie den folgenden Suchausdruck: title:(+"Produktübersicht November" +Produktempfehlung) Search Server Connector für Lucene – Handbuch 91 LuceneConnectorManual_de.book Page 92 Tuesday, May 16, 2006 4:51 PM Anhang A Syntaxzeichen ausschließen Lucene erlaubt es, Zeichen, die für die Abfragesyntax reserviert sind, in Suchbegriffen zu verwenden. Diese Zeichen müssen mit einem \ (Backslash = linksseitiger Schrägstrich) maskiert werden. Dies betrifft folgende Zeichen: +, –, &&, ||, !, ( ), { }, [ ], ^, ", ~, *, ?, : und \. Beispiel Mit folgendem Suchausdruck suchen Sie nach Dokumenten, die den Begriff “(1+1):2” enthalten: \(1\+1\)\:2 92 Livelink WCM Server LuceneConnectorManual_de.book Page 93 Tuesday, May 16, 2006 4:51 PM Abfragesyntax Search Server Connector für Lucene – Handbuch 93 LuceneConnectorManual_de.book Page 94 Tuesday, May 16, 2006 4:51 PM 94 Livelink WCM Server LuceneConnectorManual_de.book Page 95 Tuesday, May 16, 2006 4:51 PM ANHANG B Nicht unterstützte Funktionen des Content Miner-API B Die folgende Funktionalität des Content Miner-API wird von Lucene-Suchservern nicht unterstützt (unsupported operations). Ein Aufruf der entsprechenden Methoden führt jeweils zu einer UnsupportedOperationException. Tabelle 8 – Unsupported Operations Interface Methode SearchServer getConceptBase() Collection size() getAvailableTopics() getAvailableIssues() getAvailableSubjects() getAvailableHelpers() getAvailableCategories() getAvailableProbes() Search Server Connector für Lucene – Handbuch 95 LuceneConnectorManual_de.book Page 96 Tuesday, May 16, 2006 4:51 PM Anhang B Interface Methode Query setStrategy(String) getStrategy() setContextSize(String) setAnalyzeHits(boolean) setNoHits(boolean) Query setFirstHit(boolean) setHitsPerDocument(int) setMaxCategories(int) setTags(String) setSortType(String) setTags(List) setLocale(Locale) getLocale() analyze() 96 Livelink WCM Server LuceneConnectorManual_de.book Page 97 Tuesday, May 16, 2006 4:51 PM Nicht unterstützte Funktionen des Content Miner-API Search Server Connector für Lucene – Handbuch 97 LuceneConnectorManual_de.book Page 98 Tuesday, May 16, 2006 4:51 PM 98 Livelink WCM Server LuceneConnectorManual_de.book Page 99 Tuesday, May 16, 2006 4:51 PM Glossar Collection – Ein Index eines Dokumentensatzes wird als Collection bezeichnet. Es gibt interne und externe Collections. Eine interne Collection wird aus einem Dokumentensatz gebildet, der über ein WCMSystem verwaltet wird. Eine externe Collection wird dagegen aus einem Dokumentensatz gebildet, der durch ein beliebiges externes System bereitgestellt wird. Deploymentsystem – Die Deploymentsysteme erzeugen aus den WCMObjekten Seiten und verteilen die generierten Dateien in die dafür vorgesehenen Verzeichnisse. Von dort aus werden die Dateien über den Einsatz eines HTTP-Servers für die Benutzer sichtbar. Deploymentsysteme können unterschiedliche Typen und Kategorien haben. Deploymentsystem-Kategorie – Je nach Art der Verarbeitung von Deploymentaufträgen werden Deploymentsysteme verschiedenen Kategorien zugeordnet: Standard-Deploymentsysteme erzeugen bei jeder Änderung an einem WCM-Objekt automatisch eine neue Seite. Die generierten Seiten werden im Dateisystem abgelegt. Dynamische Deploymentsysteme generieren die Seiten auf Grundlage benutzerdefinierter Einstellungen und nur dann, wenn die Seite über den HTTP-Server angefordert wird. Die generierten Dateien werden in einer flachen Dateistruktur abgelegt. Mit Suchmaschinen-Deploymentsystemen können Sie die Daten Ihrer Website für den Einsatz einer Suchmaschine aufbereiten. WebDAV-Deploymentsysteme bilden die Voraussetzung für den Einsatz von WebDAV-Clients. InSite Editing-Deploymentsysteme schaffen die Voraussetzung dafür, dass Inhalte direkt innerhalb der Website – ohne Content-Client – bearbeitet und hinzugefügt werden können. Deploymentsystem-Typen – Bei Deploymentsystemen wird entsprechend dem Staging-Konzept von Livelink WCM Server zwischen Search Server Connector für Lucene – Handbuch 99 LuceneConnectorManual_de.book Page 100 Tuesday, May 16, 2006 4:51 PM Glossar den Typen “Edit”, “QS” und “Produktion” unterschieden. Je nach Typ werden unterschiedliche Sichten auf die Daten der Website erzeugt. Kommandozeilen-Tool – Mithilfe von Kommandozeilen-Tools können Indexierungsaktionen für externe Collections durchgeführt werden. Sie ermöglichen außerdem die Ermittlung von Informationen über externe und interne Collections sowie über das verwendete Index-System. Master-Server – Nur Master-Server haben lesenden und schreibenden Zugriff auf die Daten eines WCM-Systems. Der Master-Content-Server verwaltet die Website-Daten, der Master-Administrationsserver die Konfigurations- und Systemdaten des WCM-Systems. Siehe auch Serverkategorie. Proxy-Server – Ein Proxy-Server dient dazu, Anforderungen von einer Client-Anwendung, etwa einem Browser, an einen anderen (oder mehrere andere) Server abzufangen. Wenn der Proxy-Server die Anforderung erfüllen kann, sendet er die angeforderten Daten an die ClientAnwendung zurück. Andernfalls leitet er die Anforderung an den spezifizierten Server weiter. Im Kontext von Livelink WCM Server haben WCM-Server der Kategorie “Proxy” keinen schreibenden, sondern nur lesenden Zugriff auf die WCMObjekte bzw. die Konfiguration. Die Änderung von WCM-Objekten erfolgt ausschließlich über den Master-Content-Server, Änderungen an der Konfiguration des WCM-Systems sind nur über den MasterAdministrationsserver möglich. Siehe auch Serverkategorie. Query-System – Das Query-System stellt einen Mechanismus zur Verfügung, mit dem Suchanfragen verarbeitet und entsprechende Trefferlisten erzeugt werden können. Serverkategorie – In einem WCM-System wird zwischen Master- und Proxy-Servern unterschieden. Master-Server haben schreibenden Zugriff auf die Daten des WCM-Systems, Proxy-Server dagegen nur lesenden. Der Master-Content-Server verwaltet die Website-Daten, der Master- 100 Livelink WCM Server LuceneConnectorManual_de.book Page 101 Tuesday, May 16, 2006 4:51 PM Glossar Administrationsserver die Konfigurations- und Systemdaten. Darüber hinaus können beliebig viele Proxy-Server eingesetzt werden. Servertyp – Entsprechend den Aufgaben der Server gibt es zwei Servertypen: Content-Server zur Verwaltung von Website-Daten und Administrationsserver zur Verwaltung der Benutzer-, Konfigurations- und Systemdaten des WCM-Systems. Jeder Content-Server ist grundsätzlich dazu in der Lage, alle Sichten auf die Daten der verwalteten Website(s) zur Verfügung zu stellen – Edit, QS und Produktion. Die verfügbaren Sichten können dadurch eingeschränkt werden, dass der Content-Server nur die Daten von bestimmten Sichten erhält. Suchserver – Das Index- und Query-System werden innerhalb von Livelink WCM Server unter dem Begriff “Suchserver” zusammengefasst. Ein Suchserver ist immer genau einem WCM-Server zugeordnet. Einem WCM-Server können auch mehrere Suchserver zugeordnet sein. Synchronisierung – Bei der Synchronisierung wird der durch das WCMSystem verwaltete Dokumentensatz mit dem durch den Suchserver indexierten Dokumentensatz abgeglichen. Dabei wird der Index neu erstellt. Search Server Connector für Lucene – Handbuch 101 LuceneConnectorManual_de.book Page 102 Tuesday, May 16, 2006 4:51 PM 102 Livelink WCM Server LuceneConnectorManual_de.book Page 103 Tuesday, May 16, 2006 4:51 PM Index A Abfragesyntax 85 Fields 86 Fuzzy Search 87 Gruppieren von Begriffen 91 Proximity Search 88 Range Search 88 Relevanz erhöhen 89 Sonderzeichen ausschließen 92 Terms 85 Verknüpfungsoperatoren 89 Wildcards 87 AddDirectory 60 AddDocument 58 Analyzer allgemein 43 eigene integrieren 47 mitgelieferte 46 Automatisches Synchronisieren 52 mehrere Content-Server 44 verwalten 30 commands.properties 54 Content Miner-API nicht unterstützte Funktionen 95 Content-Server gleiche Collection für mehrere 44 D DeleteDirectory 62 DeleteDocument 59 Distanzsuche 88 E Externe Collection allgemein 17 anlegen 35 F Begriffe (Terms) 85 Bereichssuche (Range Search) 88 Felder (Fields) 86 Fields 86 Fuzzy Search 87 C G Collection beeinflussen 39 Einstellungen 36 externe Collection 17 externe Collection anlegen 35 interne Collection 17 interne Collection anlegen 31 interne Collection synchronisieren 40 komprimieren 41 löschen 38 GetAvailableCollections 63 GetVersion 64 Gruppieren von Begriffen 91 B I Index-System 51 Index-System (Einleitung) 18 Interne Collection allgemein 17 anlegen 31 Search Server Connector für Lucene – Handbuch 103 LuceneConnectorManual_de.book Page 104 Tuesday, May 16, 2006 4:51 PM Index synchronisieren 40 K Kommandozeilen-Tools 53 AddDirectory 60 AddDocument 58 allgemeine Parameter 55 Ausgabe 57 DeleteDirectory 62 DeleteDocument 59 GetAvailableCollections 63 GetVersion 64 Komprimieren einer Collection 41 Konfiguration Lucene-Suchserver 28 mehrere Content-Server für 1 Collection 44 Konfigurationsdatei commands.properties 54 L Löschen einer Collection 38 Lucene-Suchserver konfigurieren 28 starten und stoppen 42 verwalten 27 M Manuelles Synchronisieren 52 P Parser allgemein 43 eigene integrieren 48 mitgelieferte 48 Platzhalter (Wildcards) 87 Proximity Search 88 104 Q Query-System 20, 67 einfache Suche ausführen 68 Konfigurationsdaten verwenden 72 WCM-System in das Suchergebnis integrieren 76 R Range Search 88 Relevanz 89 S Sonderzeichen ausschließen 92 Starten Lucene-Suchserver 42 Stoppen Lucene-Suchserver 42 Suchserver 16 allgemeine Funktionsweise 15 Einstellungen 29 Integration in WCM-System 23 Synchronisieren automatisch 52 interne Collection 40 manuell 52 Systemarchitektur 21 Deploymentsystem 22 Grundlagen 22 Master-Administrationsserver 22 Master-Content-Server 22 Proxy-Server 22 Systemverwaltung Lucene-Suchserver 38 T Terms 85 Livelink WCM Server LuceneConnectorManual_de.book Page 105 Tuesday, May 16, 2006 4:51 PM Index U Undeutliche Suche 87 Unsupported operations 95 V Verknüpfungsoperatoren 89 Verwalten Collections 30 Lucene-Suchserver 27 W Wildcards 87 Search Server Connector für Lucene – Handbuch 105