Lucene - Programação de consulta
Vimos no capítulo anterior Lucene - Search Operation, Lucene usa IndexSearcher para fazer pesquisas e usa o objeto Consulta criado por QueryParser como a entrada. Neste capítulo, vamos discutir vários tipos de objetos Query e as diferentes maneiras de criá-los programaticamente. A criação de diferentes tipos de objeto Consulta fornece controle sobre o tipo de pesquisa a ser feita.
Considere um caso de Pesquisa Avançada, fornecida por muitos aplicativos em que os usuários têm várias opções para limitar os resultados da pesquisa. Por meio da programação de consulta, podemos conseguir o mesmo facilmente.
A seguir está a lista de tipos de consulta que discutiremos no devido tempo.
S.No. | Classe e descrição |
---|---|
1 | TermQuery Esta classe atua como um componente principal que cria / atualiza índices durante o processo de indexação. |
2 | TermRangeQuery TermRangeQuery é usado quando uma gama de termos textuais deve ser pesquisada. |
3 | PrefixQuery PrefixQuery é usado para fazer a correspondência de documentos cujo índice começa com uma string especificada. |
4 | BooleanQuery BooleanQuery é usado para pesquisar documentos que são resultado de várias consultas usando AND, OR ou NOT operadores. |
5 | PhraseQuery A consulta de frase é usada para pesquisar documentos que contenham uma sequência particular de termos. |
6 | WildCardQuery WildcardQuery é usado para pesquisar documentos usando curingas como '*' para qualquer sequência de caracteres ,? combinando um único caractere. |
7 | FuzzyQuery FuzzyQuery é usado para pesquisar documentos usando a implementação fuzzy, que é uma pesquisa aproximada baseada no algoritmo de edição de distância. |
8 | MatchAllDocsQuery MatchAllDocsQuery como o nome sugere corresponde a todos os documentos. |