Suchen

Unterstützte Abfragen

Zend_Search_Lucene und Java Lucene unterstützen eine mächtige Abfragesprache. Sie erlaubt das Suchen nach individuellen Ausdrücken, Phrasen, Bereichen von Ausdrücken; verwendung von Wildcards und Undeutliche (Fuzzy) Suchen; Kombination von Abfragen durch Verwendung boolscher Operatoren; und so weiter.

Eine detailierte Beschreibung der Abfragesprache kann in der Dokumentation der Komponente Zend_Search_Lucene gefunden werden.

Nachfolgend sind einige Beispiel von üblichen Abfragetypen und Strategien.

Example #1 Abfragen nach einem einfachen Wort

  1. hello

Sucht nach dem Wort "hello" durch alle Dokumentfelder.

Note: Standardmäßige Suchfelder
Wichtige Notiz! Java Lucene sucht standardmäßig nur nach den "contents" Feldern, aber Zend_Search_Lucene sucht durch alle Felder. Dieses Verhalten kann geändert werden indem die Methode Zend_Search_Lucene::setDefaultSearchField($fieldName) verwendet wird.

Example #2 Abfrage nach mehreren Worten

  1. hello dolly

Sucht nach zwei Worten. Beide Worte sind optional; zumindest eines von Ihnen muss im Ergebnis vorhanden sein.

Example #3 Worte in einer Abfrage erzwingen

  1. +hello dolly

Sucht nach zwei Worten; "hello" wird benötigt, "dolly" ist optional.

Example #4 Wörter in abgefragten Dokumenten verhindern

  1. +hello -dolly

Sucht nach zwei Worten; "hello" wird benötigt, "dolly" ist verboten. Mit anderen Worten, wenn das Dokument auf "hello" passt aber das Wort "dolly" enthält wird es nicht im gefundenen Set zurückgegeben.

Example #5 Abfrage nach Phrasen

  1. "hello dolly"

Suche nach der Phrase "hello dolly"; ein Dokument entspricht nur wenn der exakte String vorhanden ist.

Example #6 Abfrage nach spezifischen Feldern

  1. title:"The Right Way" AND text:go

Sucht die Phrase "The Right Way" im title Feld und das Wort "go" im text Feld.

Example #7 Abfrage nach speziellen Feldern sowie im kompletten Dokument

  1. title:"The Right Way" AND  go

Sucht die Phrase "The Right Way" im Feld title und das Word "go" welches in irgendeinem Feld des Dokuments vorkommt.

Example #8 Abfrage nach speziellen Feldern sowie im kompletten Dokument (alternativ)

  1. title:Do it right

Sucht nach dem Wort "Do" im Feld title und die Wörter "it" und "right" über alle Felder; jeder einzelne der entspricht führt zu einem passenden Dokument.

Example #9 Abfrage mit der Wildcard "?"

  1. te?t

Sucht nach Worten die dem Pattern "te?t" entsprechen, wobei "?" jedes einzelne Zeichen ist.

Example #10 Abfrage mit dem Wildcard "*"

  1. test*

Sucht nach Worten welche dem Pattern "test*" entsprechen wobei "*" jede Sequenz von null oder mehr Zeichen entspricht.

Example #11 Abfrage nach einem inklusiven Bereich von Ausdrücken

  1. mod_date:[20020101 TO 20030101]

Sucht nach einem Bereich von Ausdrücken (inklusive).

Example #12 Abfrage nach einem exklusiven Bereich von Ausdrücken

  1. title:{Aida to Carmen}

Sucht nach einem Bereich von Ausdrücken (exklusive).

Example #13 Undeutliche Suchen

  1. roam~

Sucht undeutlich nach dem Word "roam".

Example #14 Boolsche Suchen

  1. (framework OR library) AND php

Boolsche Abfrage.

Alle unterstützten Abfragen können durch Zend_Search_Lucene's Abfrage Erstellungs API erstellt werden. Weiters können Parsen von Abfrage und Abfrage Erstellung kombiniert werden:

Example #15 Kombinieren von geparsted und erstellten Abfragen

  1. span style="color: #808080; font-style: italic;">/* required *//* required */);

Suchen