Lucene - Query Programming

Abbiamo visto nel capitolo precedente Lucene - Search Operation, Lucene utilizza IndexSearcher per effettuare ricerche e utilizza come input l'oggetto Query creato da QueryParser. In questo capitolo, discuteremo i vari tipi di oggetti Query e i diversi modi per crearli a livello di codice. La creazione di diversi tipi di oggetto Query consente di controllare il tipo di ricerca da eseguire.

Si consideri un caso di ricerca avanzata, fornito da molte applicazioni in cui agli utenti vengono fornite più opzioni per limitare i risultati della ricerca. Con la programmazione Query, possiamo ottenere lo stesso risultato molto facilmente.

Di seguito è riportato l'elenco dei tipi di query che discuteremo a tempo debito.

S.No. Classe e descrizione
1 TermQuery

Questa classe funge da componente principale che crea / aggiorna gli indici durante il processo di indicizzazione.

2 TermRangeQuery

TermRangeQuery viene utilizzato quando è necessario cercare un intervallo di termini testuali.

3 PrefixQuery

PrefixQuery viene utilizzato per confrontare i documenti il ​​cui indice inizia con una stringa specificata.

4 BooleanQuery

BooleanQuery viene utilizzato per cercare documenti che sono il risultato di più query utilizzando AND, OR o NOT operatori.

5 PhraseQuery

La query a frase viene utilizzata per cercare documenti che contengono una particolare sequenza di termini.

6 WildCardQuery

WildcardQuery viene utilizzato per cercare documenti utilizzando caratteri jolly come "*" per qualsiasi sequenza di caratteri ,? corrispondenza di un singolo carattere.

7 FuzzyQuery

FuzzyQuery viene utilizzato per cercare documenti utilizzando un'implementazione fuzzy, ovvero una ricerca approssimativa basata sull'algoritmo di modifica della distanza.

8 MatchAllDocsQuery

MatchAllDocsQuery come suggerisce il nome corrisponde a tutti i documenti.