|
||||||||||||||||||||||||||||||||||
| ISBN: 3897314959 ISBN: 3897314959 ISBN: 3897314959 ISBN: 3897314959 | ||||||||||||||||||||||||||||||||||
|
|
Wir empfehlen: | |||||||||||||||||||||||||||||||||
Die Standard-Suchsyntax von Lucene
[ Inhaltsverzeichnis ] ... [ zurück ] ... [ weiter ] ... [ Links und Literaturverzeichnis ] Übersicht: Die Standard-Suchsyntax von Lucene
Überblick
Lucene unterstützt standardmäßig reichhaltige Suchoptionen.
Allerdings besteht auch die Möglichkeit, eine eigene Suchsyntax zu entwickeln. Ausdrücke
Eine Suchanfrage wird in Ausdrücke und Operatoren unterteilt.
Ein einzelner Ausdruck ist ein Wort wie z. B. "Hallo". Eine Phrase ist eine Gruppe von Wörtern, von Anführungszeichen umschlossen, wie "Hallo Du". Mehrere Ausdrücke können mit Hilfe boolescher Operatoren verbunden werden. Felder
Lucene unterstützt Felddaten (z. B. Dokumenttitel und Inhalt). Bei einer Suchanfrage kann man entweder ein Feld spezifizieren oder man benutzt das Standardeld.
Die Feldnamen sind implementationsspezifisch.
Um in einem bestimmten Feld zu suchen, kann man den Feldnamen, gefolgt von einem Doppelpunkt und dem Suchausdruck angeben. Ein Beispiel: "title:index AND text:hallo". Ist "text" das Standardfeld, kann man auch "title:index AND hallo" eingeben. Beachte: Das Feld gilt nur für den direkt folgenden Ausdruck, bei "title:Titel Nummer 1" gilt das Feld " title" nur für das Wort " Titel". Wildcards
Lucene erlaubt Wildcard-Suche für ein oder mehrere Zeichen.
Um einen Platzhalter für ein einzelnes Zeichen anzugeben, wird ein "?" benutzt. te?t würde nach allen Wörtern wie "test" oder "text" suchen. Um ein Platzhalter für mehrere Zeichen anzugeben, wird ein "*" benutzt. test* würde nach allen Wörtern wie "test" oder "tester" suchen. Beachte: Beide Wildcards können sowohl innerhalb, als auch am Ende der Ausdrucks stehen, nicht jedoch am Beginn. Fuzzy-Suche (undeutliche Suche)
Lucene unterstützt undeutliche Suche
(Levenshtein Distanz Algorithmus).
Um eine undeutliche Suche zu formulieren, benutzt man das Tilde-Symbol ("~") am Ende eines einzelnen Wortes. lachen~ würde Wörter wie "lachen", "wachen" oder auch "Laschen" finden. Beachte: Ausdrücke, die über die Fuzzy-Suche gefunden wurden, werden automatisch mit einem Verstärkungsfaktor von 0,2 gewichtet. Distanzsuche
Lucene erlaubt das Suchen von Wörtern, die eine bestimmte maximale Distanz voneinander entfernt sind.
Um eine Distanzsuche zu formulieren, muss das Tilde-Symbol ("~"), gefolgt von der Anzahl der Wörter, die diese maximal voneinander entfernt sein dürfen, hinter dem Audruck angegeben werden. "Guten wiedersehen"~10 würde nach den Wörtern "Guten" und "wiedersehen" suchen, die höchstens 10 Wörter voneinander entfernt liegen dürfen. Verstärkungsfaktoren
Lucene erlaubt es, einen Ausdruck mit einem Verstärkungsfaktor zu versehen, was sich dann auf die Reihenfolge der Ergebnisse auswirkt.
Um einem Ausdruck ein Verstärkungsfaktor zuzuordnen, wird das "^"-Symbol, gefolgt von dem Verstärkungsfaktor hinter dem Ausdruck angegeben. hallo^4 du würde bedeuten, dass Ergebnisse, die das Wort "hallo" enthalten, viermal so stark gewichtet werden, wie solche, die das Wort "du" enthalten. Auch Phrasen (Ausdrücke, die aus mehreren Wörtern bestehen) können mit einem Verstärkungsfaktor versehen werden. Der Standardfaktor ist 1. Verstärkungsfaktoren müssen immer positiv sein, sie können aber kleiner als 1 sein. Boolesche Operatoren
Es können boolesche Operatoren, wie und, oder, usw. angegeben werden, um die Suche zu spezifizieren.
Sollen zwei Ausdrücke ODER-verknüpft werden, so ist dazwischen ein "OR" zu schreiben, oder aber gar nichts, da die ODER- die Standardverknüpfung ist. hallo OR du oder aber hallo du Sollen zwei Ausdrücke UND-verknüpft werden, so ist dazwischen ein "AND", oder aber vor beide Ausdrücke ein "+"-Zeichen zu schreiben. hallo AND du oder aber +hallo +du Soll z. B. das Wort "hallo" unbedingt vorkommen, das Wort "du" aber nicht unbedingt, so ist +hallo du zu schreiben. Es können auch negierende boolesche Operatoren angegeben werden. Um anzugeben, dass ein Ausdruck nicht vorkommen soll, ist ein NOT, oder aber ein Minuszeichen ("-") vor dem Ausdruck zu schreiben. hallo NOT du bedeutet, dass "hallo", nicht aber "du" vorkommen soll. Beachte: der NOT-Operator kann nicht nur mit einem Ausdruck benutzt werden, wie bei NOT "hallo du" Gruppierung von Elementen
Elemente können gruppiert werden.
Dazu werden Klammern mit den üblichen Regeln benutzt: (hallo OR du) AND ich sucht alle Dokumente, in denen "ich" vorkommt, sowie "hallo" oder "du". Syntaxzeichen ausschließen
Auch Zeichen, die für die Suchsyntax reserviert werden, können in der Suche mit angegeben werden.
Ein Backslash ("\") vor einem solchen Zeichen bewirkt, dass es nicht fü die Syntax interpretiert, sondern in den Suchwausdruck einbezogen wird: \(1\+1\)\:2 bedeutet, dass genau nach "(1+1):2" gesucht werden soll. [ Inhaltsverzeichnis ] ... [ zurück ] ... [ oben ] ... [ weiter ] ... [ Links und Literaturverzeichnis ] |
|
|||||||||||||||||||||||||||||||||
|
Zurück zur Themenseite: StudyPaper.com/Startseite/Computer/Informatik Das Setzen von Verweisen (Links) auf diese Seite ist gestattet und bedarf keine vorherige Absprache. | ||||||||||||||||||||||||||||||||||
| Startseite | english | Bookmark setzen | Webseite weiterempfehlen | Copyright © | Impressum | ||||||||||||||||||||||||||||||||||