Lucene - Programmation de requêtes

Nous avons vu dans le chapitre précédent Lucene - Search Operation, Lucene utilise IndexSearcher pour effectuer des recherches et utilise l'objet Query créé par QueryParser comme entrée. Dans ce chapitre, nous allons discuter de différents types d'objets Query et des différentes façons de les créer par programmation. La création de différents types d'objets Query permet de contrôler le type de recherche à effectuer.

Prenons le cas de la recherche avancée, fournie par de nombreuses applications où les utilisateurs disposent de plusieurs options pour limiter les résultats de la recherche. Grâce à la programmation de requêtes, nous pouvons réaliser la même chose très facilement.

Voici la liste des types de requêtes dont nous parlerons en temps voulu.

S.No. Classe et description
1 TermQuery

Cette classe agit comme un composant de base qui crée / met à jour les index pendant le processus d'indexation.

2 TermRangeQuery

TermRangeQuery est utilisé lorsqu'une plage de termes textuels doit être recherchée.

3 PrefixQuery

PrefixQuery est utilisé pour faire correspondre les documents dont l'index commence par une chaîne spécifiée.

4 Requête booléenne

BooleanQuery est utilisé pour rechercher des documents résultant de plusieurs requêtes utilisant AND, OR ou NOT les opérateurs.

5 PhraseQuery

La requête de phrase est utilisée pour rechercher des documents contenant une séquence particulière de termes.

6 WildCardQuery

WildcardQuery est utilisé pour rechercher des documents en utilisant des caractères génériques tels que '*' pour toute séquence de caractères ,? correspondant à un seul caractère.

sept Requête floue

FuzzyQuery est utilisé pour rechercher des documents en utilisant une implémentation floue qui est une recherche approximative basée sur l'algorithme de distance d'édition.

8 MatchAllDocsQuery

MatchAllDocsQuery comme son nom l'indique correspond à tous les documents.