|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
lucene
Allgemein Auf Basis der Open Source Bibliothek „Lucene“ der Apache Software Foundation existiert seit WGA 3.2 eine für alle Content-Stores einheitliche Möglichkeit zur Volltextindizierung der Inhalte. Content-Stores können regelbasiert indiziert und über eine einheitliche Abfragesprache durchsucht werden. Dabei spielt es keine Rolle, welche Datenbanktypen zum Einsatz kommen. Datenbankübergreifende Suchanfragen sind selbst in einer Mischumgebung aus Domino-Datenbanken und relationalen Datenbanksystemen möglich. Bitte beachten sie, dass die Lucene-Volltextindizierung sehr flexibel konfiguriert werden kann. Alle auf dieser Seite aufgeführten Beispiele und Ergebnisse gehen von der Standard-Konfiguration aus. Sollte der Lucene-Volltextindex auf ihrem System anders konfiguriert sein, verhalten sich die hier vorgestellten Abfragen eventuell nicht wie beschrieben. Nähere Informationen zur Konfiguration des Lucene-Volltextindexes entnehmen sie bitte dem Administrationshandbuch. Syntax Im folgenden wird die am häufigsten verwendete Abfragesyntax für Lucene näher erläutert. Eine weiterführenden Dokumentation aller Abfragemöglichkeiten erhalten sie unter: http://lucene.apache.org/java/docs/queryparsersyntax.html Eine Abfrage besteht aus mehreren Suchklauseln. Als Suchklausel kann sowohl ein einfacher Suchausdruck als auch eine Kombination aus Feldname und Suchausdruck verwendet werden. Eine Abfrage der Form <tml:query type="lucene"> Content Management </tml:query> führt auf der aktuellen Datenbank eine Volltextsuche nach Dokumenten durch, die die Begriffe "Content" und "Management" enthalten. Bei dieser Suche werden alle Felder der Contentdokumente, sowie die Meta-Felder TITLE und DESCRIPTION berücksichtigt. Um eine Suche auf ein bestimmtes Feld einzuschränken, kann in einer Suchklausel auch ein Feldname verwendet werden. Feldname und Suchausdruck werden mit hierbei mit ":" getrennt. <feldname>:<Suchausdruck> Die Feldnamen entsprechen den Feldern der Content-Dokumente und werden immer klein geschrieben. Operatoren Suchklauseln können mit verschiedenen Opertatoren verknüpft werden. Je nach Operator steht dieser direkt vor einer Suchklausel oder zwischen zwei Suchklauseln. <Operator><feldname>:<Suchbegriff> oder <feldname>:<Suchbegriff> <Operator> <feldname>:<Suchbegriff> Folgende Operatoren sind verfügbar:
Ein Suchausdruck kann zwei Arten von Wildcards enthalten. Ein "?" ersetzt genau ein Zeichen, ein "*" ersetzt mehrere Zeichen innerhalb des Ausdrucks. Wildcards dürfen nicht als erstes Zeichen eines Ausdrucks verwendet werden. Suchbegriffe mit Leerzeichen Bei der Suche nach Begriffen, die Leerzeichen enthalten ist folgendes zu beachten: Der angegebene Feldname bezieht sich immer nur auf den direkt darauf folgenden Suchausdruck. Die Abfrage body:Content Management mit WGA sucht im Feld body nach dem Begriff "Content" und sucht in alle Feldern der Content-Dokumente und in den Meta-Feldern TITLE und DESCRIPTION nach den Begriffen "Management", "mit" und "WGA". Soll nach allen Begriffen ausschließlich im Feld body gesucht werden, muss die Abfrage wie folgt formuliert werden: body:Content body:Management body:mit body:WGA Exakte Suche Um eine exakte Suche nach einer Zeichenfolge durchzuführen, muss die Zeichenfolge in Anführungszeichen gesetzt werden. Z.B.: body:"Content Management mit WGA" Meta-Felder Auch Meta-Felder eines Contentdokumentes werden von WGA indiziert und stehen zur Suche zur Verfügung. Meta-Felder werden in Großbuchstaben angegeben. Folgende Abfrage sucht nach allen Dokumenten, die im Titel den Begriff "Management" enthalten: TITLE:Management Eine Liste mit allen indizierten Metafeldern finden sie am Ende dieses Dokumentes. Suche nach Datumswerten und Zahlen Die Lucenesuche basiert auf einem Volltextindex, indem alle Inhalte als String indiziert werden. Es wird also kein Unterschied zwischen Zahlen, Datumswerten und Texten gemacht. Dieser Umstand muss bei der Suche nach Datumswerten und Zahlen berücksichtig werden. Datumswerte Datumswerte werden von Lucene im Format "yyyyMMddHHmmss" indiziert. Enthält ein Datum keine Uhrzeit, so sind die entsprechenden Felder 0. Der 01.09.2005 ist also im Index in der Form "20050901000000" gespeichert. Eine Abfrage, die alle Dokumente liefert, die am 01.09.2005 geändert worden sind, wird wie folgt formuliert: MODIFIED:20050901* Zahlen Zahlen werden unverändert indiziert. Die Abfrage VERSION:5 liefert alle Dokumente mit der Versionsnummer 5. Suchen in bestimmten Bereichen (von, bis) Die Abfrage eines Feldes auf einen bestimmten Bereich (von, bis) ist über folgende Syntax möglich: <feldname>:[<von> TO <bis>] oder <feldname>:{<von> TO <bis>} Die Suche mit [ ] ist inklusive der Werte <von> und <bis>. Es werden also auch Dokumente gefunden, die genau den Wert <von> oder den Wert <bis> im entsprechenden Feld enthalten. Die Suche mit { } ist exclusive der Werte <von> und <bis>. Das Suchergebnis enthält nur Dokumente zwischen den Werten <von> und <bis>. Eine Abfrage, die alle Dokumente liefert, die zwischen dem 15.08.2005 und dem 01.09.2005 geändert worden sind, wird wie folgt formuliert: MODIFIED:[20050815000000 TO 20050901235959] Suchen nach größer oder kleiner als ... Lucene unterstützt derzeit keine Abfragen auf größer oder kleiner. Diese Art der Abfragen können aber in eine Bereichssuche umgeschrieben werden. Möchten sie z.B. alle Dokumente finden, die nach dem 01.09.2005 geändert worden sind, so müssen sie die Abfrage als Bereichssuche mit einem fiktiven Enddatum definieren: MODIFIED:{20050901000000 TO 20700101000000} Alle Dokumente die vor dem 15.09.2005 erstellt wurden liefert folgende Abfrage mit dem fiktiven Anfangsdatum 01.01.1900: MODIFIED:{19000101000000 TO 20050915000000} Datenbankübergreifende Suchen Mit Lucene ist es möglich, datenbankübergreifend Abfragen selbst bei unterschiedlichen Datenbanktypen (SQL, Domino) durchzuführen. Die Datenbank(en) auf die sich die Abfrage bezieht wird im Query-Tag über die Option "db" angegeben. Hier sind folgende Werte möglich:
Wird die Option "db" weggelassen, wird nur in der Datenbank des aktuellen Content-Dokumentes gesucht. Indizierte Metafelder Folgende Metafelder werden in der angegebenen Indizierungsart indiziert:
|
Syndicate
Dokumentationen
© Innovation Gate
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||