Lucene - Programación de consultas
Lo hemos visto en el capítulo anterior Lucene - Search Operation, Lucene usa IndexSearcher para realizar búsquedas y usa el objeto Query creado por QueryParser como entrada. En este capítulo, vamos a discutir varios tipos de objetos Query y las diferentes formas de crearlos mediante programación. La creación de diferentes tipos de objetos de consulta permite controlar el tipo de búsqueda que se realizará.
Considere un caso de búsqueda avanzada, proporcionada por muchas aplicaciones donde los usuarios tienen múltiples opciones para limitar los resultados de la búsqueda. Mediante la programación de consultas, podemos lograr lo mismo muy fácilmente.
A continuación se muestra la lista de tipos de consultas que discutiremos a su debido tiempo.
S.No. | Clase y descripción |
---|---|
1 | TermQuery Esta clase actúa como un componente central que crea / actualiza índices durante el proceso de indexación. |
2 | TermRangeQuery TermRangeQuery se utiliza cuando se busca una variedad de términos textuales. |
3 | PrefixQuery PrefixQuery se utiliza para hacer coincidir documentos cuyo índice comienza con una cadena especificada. |
4 | BooleanQuery BooleanQuery se usa para buscar documentos que son el resultado de múltiples consultas usando AND, OR o NOT operadores. |
5 | PhraseQuery La consulta de frase se utiliza para buscar documentos que contienen una secuencia particular de términos. |
6 | WildCardQuery WildcardQuery se utiliza para buscar documentos utilizando comodines como '*' para cualquier secuencia de caracteres ,? coincidir con un solo carácter. |
7 | FuzzyQuery FuzzyQuery se utiliza para buscar documentos mediante una implementación difusa que es una búsqueda aproximada basada en el algoritmo de distancia de edición. |
8 | MatchAllDocsQuery MatchAllDocsQuery, como sugiere el nombre, coincide con todos los documentos. |