Criar Consulta Booleana Java: Domine Pesquisas Booleanas com GroupDocs.Search para Java

Pesquisar coleções massivas de documentos pode parecer encontrar uma agulha no palheiro. Create Boolean Query Java permite que você indique ao mecanismo exatamente o que precisa — documentos que contenham ambos os termos, qualquer termo, ou excluam palavras indesejadas. Neste guia, percorreremos a configuração do GroupDocs.Search for Java, a adição de documentos a um índice e a criação de consultas booleanas poderosas que impulsionam seus fluxos de trabalho de document retrieval java. Ao final, você será capaz de escrever código limpo e sustentável que cria consultas booleanas em Java com apenas algumas linhas.

Respostas Rápidas

  • O que é uma consulta boolean AND? Retorna apenas documentos que contenham todos os termos especificados.
  • Como o OR difere do AND? OR corresponde a documentos com qualquer dos termos, ampliando o conjunto de resultados.
  • Quando devo usar NOT? Use NOT para filtrar documentos que contenham palavras indesejadas.
  • Preciso de uma licença? Um teste gratuito funciona para testes; uma licença comercial é necessária para produção.
  • Qual versão do Java é necessária? Java 8+ é suportado; JDK 11+ é recomendado.

O que é create boolean query java?

create boolean query java refere-se à construção de uma consulta de pesquisa em Java que combina operadores lógicos como AND, OR e NOT usando a API do GroupDocs.Search. Ao montar esses operadores, você pode controlar precisamente quais documentos correspondem, permitindo filtragem avançada, ajuste de relevância e cenários de pesquisa complexos.

Por que usar GroupDocs.Search para Java?

  • High performance on large document sets – pode indexar e pesquisar 500 GB de texto em menos de um minuto em um servidor padrão.
  • Rich API that supports both text‑based and object‑based queries, letting you choose the style that fits your architecture.
  • Built‑in language support for stemming, stop‑words, and fuzzy matching across 30+ languages.
  • Easy integration with Maven or direct JAR download, requiring only a few lines of code to get started.

Pré-requisitos

Before diving in, make sure you have:

  • GroupDocs.Search for Java (v25.4 ou posterior) – veja o link de download abaixo.
  • JDK 8+ instalado e configurado em sua IDE (IntelliJ IDEA, Eclipse, etc.).
  • Conhecimento básico de Java e Maven para gerenciamento de dependências.

Configurando GroupDocs.Search para Java

Configuração Maven

Add the repository and dependency to your pom.xml:

<repositories>
    <repository>
        <id>repository.groupdocs.com</id>
        <name>GroupDocs Repository</name>
        <url>https://releases.groupdocs.com/search/java/</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-search</artifactId>
        <version>25.4</version>
    </dependency>
</dependencies>

Download Direto

Alternatively, download the latest JAR from the official site: lançamentos do GroupDocs.Search para Java.

Aquisição de Licença

Comece com uma licença de teste gratuito para explorar todos os recursos. Para uso em produção, adquira uma licença comercial para desbloquear a funcionalidade completa.

Inicialização e Configuração Básica

Create an index folder and instantiate the Index object:

import com.groupdocs.search.Index;

public class GroupDocsSetup {
    public static void main(String[] args) {
        String indexFolder = "path/to/index/directory";
        Index index = new Index(indexFolder);
    }
}

Como criar boolean query java?

A classe Index representa uma coleção pesquisável de documentos armazenados em disco. Um BooleanQuery combina múltiplas sub‑consultas com operadores lógicos. createAndQuery, createOrQuery e createNotQuery constroem sub‑consultas AND, OR e NOT, respectivamente. Carregue ou crie uma instância de Index, adicione documentos e, em seguida, construa um objeto BooleanQuery usando createAndQuery, createOrQuery ou createNotQuery. Chame index.search(query) para recuperar os documentos correspondentes. Esse padrão funciona tanto para cenários simples quanto complexos e requer apenas três etapas lógicas: inicialização do índice, adição de documentos e execução da consulta.

Pesquisa Boolean AND

Visão Geral

Uma consulta AND restringe os resultados, melhorando a relevância quando você precisa de documentos que correspondam a múltiplos critérios.

Etapas de Implementação

  1. Inicializar Índice – isso também demonstra adicionar documentos ao índice para o cenário AND.

    String indexFolder = "YOUR_OUTPUT_DIRECTORY/BooleanSearch/OperatorAnd";
    Index index = new Index(indexFolder);
    
  2. Indexar Documentos

    String documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
    index.add(documentsFolder);
    
  3. Executar Busca de Consulta de Texto – usando a sintaxe de string simples.

    String query1 = "comfort AND promotion";
    SearchResult result1 = index.search(query1);
    
  4. Executar Busca de Consulta de Objeto – útil ao construir consultas programaticamente (search with and java).

    import com.groupdocs.search.query.*;
    
    SearchQuery wordQuery1 = SearchQuery.createWordQuery("comfort");
    SearchQuery wordQuery2 = SearchQuery.createWordQuery("promotion");
    SearchQuery andQuery = SearchQuery.createAndQuery(wordQuery1, wordQuery2);
    SearchResult result2 = index.search(andQuery);
    

Pesquisa Boolean OR

Visão Geral

Uma consulta OR é ideal para buscas exploratórias onde você deseja capturar documentos contendo ao menos uma de várias palavras‑chave (search with or java).

Etapas de Implementação

  1. Inicializar Índice

    String indexFolder = "YOUR_OUTPUT_DIRECTORY/BooleanSearch/OperatorOr";
    Index index = new Index(indexFolder);
    
  2. Indexar Documentos

    String documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
    index.add(documentsFolder);
    
  3. Executar Busca de Consulta de Texto

    String query1 = "comfort OR neque";
    SearchResult result1 = index.search(query1);
    
  4. Executar Busca de Consulta de Objeto

    SearchQuery wordQuery1 = SearchQuery.createWordQuery("comfort");
    SearchQuery wordQuery2 = SearchQuery.createWordQuery("neque");
    SearchQuery orQuery = SearchQuery.createOrQuery(wordQuery1, wordQuery2);
    SearchResult result2 = index.search(orQuery);
    

Pesquisa Boolean NOT

Visão Geral

Uma consulta NOT ajuda a eliminar documentos irrelevantes, como filtrar o nome da marca de um concorrente (boolean search examples java).

Etapas de Implementação

  1. Inicializar Índice

    String indexFolder = "YOUR_OUTPUT_DIRECTORY/BooleanSearch/OperatorNot";
    Index index = new Index(indexFolder);
    
  2. Indexar Documentos

    String documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
    index.add(documentsFolder);
    
  3. Executar Busca de Consulta de Texto

    String query1 = "sportsman AND NOT Kynynmound";
    SearchResult result1 = index.search(query1);
    
  4. Executar Busca de Consulta de Objeto

    SearchQuery wordQuery1 = SearchQuery.createWordQuery("sportsman");
    SearchQuery wordQuery2 = SearchQuery.createWordQuery("Kynynmound");
    SearchQuery notQuery = SearchQuery.createNotQuery(wordQuery2);
    SearchQuery andQuery = SearchQuery.createAndQuery(wordQuery1, notQuery);
    SearchResult result2 = index.search(andQuery);
    

Consultas Booleanas Complexas

Visão Geral

Consultas complexas permitem modelar cenários de busca do mundo real, como “encontrar artigos esportivos que sejam favoráveis, mas excluir qualquer menção a atletas específicos”.

Etapas de Implementação

  1. Inicializar Índice

    String indexFolder = "YOUR_OUTPUT_DIRECTORY/BooleanSearch/ComplexQueries";
    Index index = new Index(indexFolder);
    
  2. Indexar Documentos

    String documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
    index.add(documentsFolder);
    
  3. Executar Busca de Consulta de Texto

    String query1 = "(sportsman AND favourable) AND NOT (Kynynmound OR Murray)";
    SearchResult result1 = index.search(query1);
    
  4. Executar Busca de Consulta de Objeto

    SearchQuery word1Query = SearchQuery.createWordQuery("sportsman");
    SearchQuery word2Query = SearchQuery.createWordQuery("favourable");
    SearchQuery andQuery = SearchQuery.createAndQuery(word1Query, word2Query);
    
    SearchQuery word3Query = SearchQuery.createWordQuery("Kynynmound");
    SearchQuery word4Query = SearchQuery.createWordQuery("Murray");
    SearchQuery orQuery = SearchQuery.createOrQuery(word3Query, word4Query);
    SearchQuery notQuery = SearchQuery.createNotQuery(orQuery);
    
    SearchQuery rootQuery = SearchQuery.createAndQuery(andQuery, notQuery);
    SearchResult result2 = index.search(rootQuery);
    

Aplicações Práticas de Consultas java boolean and or

  • Document Management Systems – localize contratos que contenham tanto “confidential” AND “renewal”.
  • Legal Research – filtre jurisprudência com AND/ OR enquanto exclui estatutos desatualizados usando NOT.
  • Customer Support – recupere tickets que mencionem “login” AND “error” mas não “resolved”.
  • Content Curation – reúna posts de blog sobre “cloud” OR “serverless” para um boletim informativo.

Armadilhas Comuns & Solução de Problemas

  • Missing Index Refresh – após adicionar novos documentos, chame index.update() para garantir que estejam pesquisáveis.
  • Incorrect Operator Spacing – o GroupDocs.Search espera espaços ao redor dos operadores (AND, OR, NOT).
  • Case Sensitivity – consultas são insensíveis a maiúsculas/minúsculas por padrão, mas analisadores personalizados podem afetar isso.
  • Large Result Sets – use paginação (search(query, 0, 100)) para evitar sobrecarga de memória.

Perguntas Frequentes

Q: Posso combinar mais de dois termos em uma consulta AND?
A: Absolutamente. Você pode encadear múltiplos objetos createWordQuery com createAndQuery, ou simplesmente escrever "term1 AND term2 AND term3" na consulta de texto.

Q: O GroupDocs.Search suporta buscas com curinga ou difusas?
A: Sim. Anexe * para curinga (ex., promot*) ou use ~ para correspondência difusa (ex., comfort~).

Q: Como limitar a busca a tipos de arquivo específicos?
FileTypeQuery limita os resultados da busca a formatos de arquivo específicos, como PDF ou DOCX.
A: Use a classe FileTypeQuery para restringir os resultados a PDFs, DOCX, etc., e combine-a com sua consulta booleana.

Q: Qual a melhor forma de monitorar o desempenho da indexação?
A: Ative o logger embutido (index.getLogger().setLevel(Level.INFO)) e revise as métricas de tempo após cada operação add.

Q: Existe uma forma de aumentar a relevância de certos termos?
BoostQuery aumenta a pontuação de relevância dos termos especificados em uma consulta de busca.
A: Sim. Envolva palavras importantes com BoostQuery para aumentar seu peso no algoritmo de pontuação.


Última Atualização: 2026-07-21
Testado com: GroupDocs.Search 25.4 (Java)
Autor: GroupDocs

Tutoriais Relacionados