lucene

Verfügbar für Datenbank-Typen WGA Content Store for Domino
WGA Content Store for JDBC
WGA Content Store for FirebirdSQL
WGA Content Store for Oracle
Verfügbar ab Version 3.2
Such-Optionen (Zu verwenden in Query-Attribut options) sort:<feldname>[(asc) | (desc)] : Suchergebnis nach dem Feldnamen absteigend oder aufsteigend sortieren. Die Standardsortierung der Ergebnisse erfolgt nach Relevanz.

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:
    OperatorBeschreibungPosition
    AND, &&Der Operator AND verknüpft zwei Suchklauseln mit UND. Es werden alle Dokumente gefunden, die beide Suchklauseln enthalten. Statt AND kann auch die Zeichenfolge && verwendet werden. Der Operator AND ist der Standardoperator von WGA, d.h. mehrere Suchklauseln ohne Operator werden automatisch mit UND verknüpft.zwischen zwei Suchklauseln
    OR, ||Der Operator OR verknüpft zwei Suchklauseln mit ODER. Es werden alle Dokumente gefunden, die eine der beiden Suchklauseln enthalten. Statt OR kann auch die Zeichenfolge || verwendet werden.zwischen zwei Suchklauseln
    +Der Operator + bestimmt, dass alle Ergebnisse die entsprechende Suchklausel enthalten müssen.direkt vor einer Suchklausel
    NOT, -, !Der Operator NOT bestimmt, dass alle Ergebnisse die entsprechende Suchklausel nicht enthalten dürfen. Anstatt NOT können auch die Zeichen - oder ! verwendet werden. Der Operator NOT kann nicht alleine verwendet werden. Ein Abfrage muss immer mindestens eine positiv formulierte Suchklauseln enthalten. Die Abfrage NOT "albert einstein" liefert keine Ergebnisse.NOT vor einer Suchklausel mit Leerzeichen getrennt,
    - oder ! direkt vor einer Suchklausel ohne Leerzeichen
    Wildcards

    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:

    Option "db"Beschreibung
    <Datenbankschlüssel>Datenbankschlüssel der Datenbank in der gesucht werden soll.
    *Es wird in allen Datenbanken der aktuellen Domäne gesucht.
    **Es wird in allen Datenbanken, die WGA zur Verfügung stehen und die einen Lucene-Index besitzen gesucht.

    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:

  • keyword: Der Feldinhalt wird unverändert 1:1 im Index gespeichert. Bei boolschen Ausdrücken enthält der Index die Zeichenfolge "true" bzw. "false".
  • analyzed: Der Feldinhalt wird analysiert. Inhalte, die aus mehreren Begriffen bestehen sind über alle Begriffe suchbar.
  • fulltext: Der Feldinhalt wird analysiert. Inhalte, die aus mehreren Begriffen bestehen sind über alle Begriffe suchbar. Zusätzlich wird dieses Feld bei Suchanfragen ohne Feldnamen ausgewertet. Eine Volltextsuche berücksichtigt also auch die Felder DESCRIPTION und TITLE.
  • date: Der Feldinhalt wird als formatiertes Datum im Format "yyyyMMddHHmmss" im Index gespeichert.

MetafeldBeschreibungIndizierungsart
AUTHORAutor des Inhaltes analyzed
BASEIMAGEGrafik für Navigatoren keyword
CREATEDErstellungsdatum date
DBKEYDatenbankschlüssel keyword
DESCRIPTIONKurzbeschreibung des Inhaltsfulltext
DOCNAME, NAME, UNIQUENAMEEindeutiger Name keyword
EMAILE-Mail-Adresse des Autors analyzed
HIDDENINNAVIst "true", wenn das Dokument in Navigatoren ausgeblendet werden soll, ansonsten "false".keyword, true/ false
HIDDENINSEARCHIst "true", wenn das Dokument in Suchen ausgeblendet werden soll, ansonsten "false".keyword, true/ false
HIDDENINSITEMAPIst "true", wenn das Dokument in Sitemaps ausgeblendet werden soll, ansonsten "false".keyword, true/ false
HTMLHEADZusätzliche HTML-Headinformationen keyword
KEYContent-Key keyword
KEYWORDSSchlüsselwörter zum Inhalt zur Verwendung in Suchmaschinen keyword
LANGUAGESprachcode, z.B. „de“ keyword
LASTCLIENTkeyword
LASTMODIFIEDDatum der letzten Modifikation date
LINKTARGETName des HTML-Frames, in welchem das aktuelle Dokument geöffnet werden soll, wenn es per Link ausgewählt wird keyword
MODIFIEDDatum der letzten Modifikationdate
MOUSEOVERIMAGEGrafik für Navigatoren zur Anzeige bei Mauszeiger-Berührung keyword
READERSBerechtigungsfeld: Leser die Zugriff auf den Content haben.analyzed
REFRESHkeyword
REFRESHTIMEkeyword
REFRESHURLkeyword
RELEASEURLkeyword
RELEASEREADYkeyword, true/ false
SELECTEDIMAGEGrafik für Navigatoren zur Anzeige, wenn diese Inhaltsdokument aktuell angezeigt wird keyword
STATUSStatus des Inhaltsdokumentes

„w“ - Arbeitskopie

„g“ - Zur Genehmigung

„p“ - Freigegeben

„a“ - Archiviert

keyword
STRUCTENTRYkeyword
STRUCTKEYSchlüssel des Struktureintrags keyword
TITLETitel fulltext
TRACKINGKEYSTracking-Keys zum Inhalt keyword
USENAVIMAGEFlag, ob Navigationsgrafiken aktiviert sind keyword, true/ false
VALIDFROMDatum, ab welchem das Dokument angezeigt wird date
VALIDTODatum, bis zu welchem das Dokument angezeigt wird date
VERSIONVersion des Contents.keyword
VIRTUALLINKURL zum fernen Dokument, falls es sich beim aktuellen Inhalt um ein virtuelles Dokument handelt keyword
VIRTUALLINKTYPEkeyword
VISIBLEGenerelles Sichtbarkeitsflag keyword, true/ false
WFHISTORYanalyzed