Lucene - Abfrageprogrammierung
Wir haben im vorigen Kapitel gesehen Lucene - Search OperationLucene verwendet IndexSearcher, um Suchvorgänge durchzuführen, und verwendet das von QueryParser erstellte Abfrageobjekt als Eingabe. In diesem Kapitel werden verschiedene Arten von Abfrageobjekten und die verschiedenen Möglichkeiten zum programmgesteuerten Erstellen erläutert. Durch das Erstellen verschiedener Arten von Abfrageobjekten können Sie die Art der Suche steuern.
Stellen Sie sich einen Fall der erweiterten Suche vor, der von vielen Anwendungen bereitgestellt wird, bei denen Benutzer mehrere Optionen erhalten, um die Suchergebnisse einzuschränken. Durch die Abfrageprogrammierung können wir das sehr einfach erreichen.
Im Folgenden finden Sie eine Liste der Abfragetypen, die zu gegebener Zeit erläutert werden.
S.No. | Klasse & Beschreibung |
---|---|
1 | TermQuery Diese Klasse fungiert als Kernkomponente, die während des Indizierungsprozesses Indizes erstellt / aktualisiert. |
2 | TermRangeQuery TermRangeQuery wird verwendet, wenn nach einer Reihe von Textbegriffen gesucht werden soll. |
3 | PrefixQuery PrefixQuery wird verwendet, um Dokumente abzugleichen, deren Index mit einer angegebenen Zeichenfolge beginnt. |
4 | BooleanQuery BooleanQuery wird verwendet, um Dokumente zu durchsuchen, die das Ergebnis mehrerer Abfragen sind AND, OR oder NOT Betreiber. |
5 | PhraseQuery Die Phrasenabfrage wird verwendet, um Dokumente zu durchsuchen, die eine bestimmte Folge von Begriffen enthalten. |
6 | WildCardQuery WildcardQuery wird verwendet, um Dokumente mit Platzhaltern wie '*' nach einer beliebigen Zeichenfolge zu durchsuchen. passend zu einem einzelnen Zeichen. |
7 | FuzzyQuery FuzzyQuery wird zum Suchen von Dokumenten mithilfe der Fuzzy-Implementierung verwendet, bei der es sich um eine ungefähre Suche handelt, die auf dem Algorithmus für die Bearbeitungsentfernung basiert. |
8 | MatchAllDocsQuery MatchAllDocsQuery stimmt, wie der Name schon sagt, mit allen Dokumenten überein. |