Como indexar documentos com GroupDocs.Search para Java

No mundo orientado a dados de hoje, como indexar documentos de forma eficiente é uma habilidade crítica para qualquer desenvolvedor Java que lida com grandes coleções de arquivos. Seja processando contratos legais, demonstrações financeiras ou relatórios internos, um índice de busca bem construído permite localizar a informação exata em segundos em vez de horas de varredura manual. Este tutorial orienta você na criação de um índice de busca, na adição de documentos e na execução de consultas baseadas em texto e em objetos com GroupDocs.Search para Java.

Respostas rápidas

  • Qual é o primeiro passo para indexar documentos? Crie uma instância Index que aponta para uma pasta onde os arquivos de índice serão armazenados.
  • Qual método adiciona documentos a um índice? Chame index.add("PATH_TO_DOCUMENTS") para escanear um diretório e ingerir arquivos suportados.
  • Posso pesquisar intervalos numéricos? Sim – use uma consulta de texto como "400 ~~ 4000" ou uma consulta de objeto via SearchQuery.createNumericRangeQuery. O método createNumericRangeQuery cria um objeto de consulta de intervalo numérico.
  • Preciso de uma licença? Um teste gratuito funciona para avaliação; uma licença comercial desbloqueia o conjunto completo de recursos e remove limites de uso.
  • Qual versão do Java é necessária? JDK 8 ou superior é suportado.

O que é como indexar documentos com GroupDocs.Search?

A indexação de documentos cria um repositório de tokens pesquisáveis para cada arquivo, permitindo que o motor recupere correspondências sem ler os arquivos originais a cada vez. Essa etapa de pré-processamento transforma o conteúdo bruto em um índice otimizado que pode ser consultado em milissegundos. O índice armazena termos, posições e metadados, possibilitando buscas rápidas de frases e proximidade em todos os tipos de documentos suportados.

Por que usar GroupDocs.Search para Java?

As operações de busca normalmente são concluídas em menos de 50 ms em uma coleção de 10 000 arquivos (média de 1 KB cada) rodando em uma VM padrão de 2‑CPU e 8 GB. A biblioteca suporta mais de 30 formatos de entrada e saída—incluindo PDF, DOCX, XLSX, PPTX, TXT e HTML—para que você possa indexar praticamente qualquer documento empresarial sem conversores adicionais. Sua API flexível permite combinar consultas de texto simples, intervalos numéricos e consultas de objeto complexas, enquanto atualizações incrementais permitem adicionar novos arquivos sem reconstruir todo o índice.

Pré-requisitos

  • Maven instalado para gerenciamento de dependências.
  • Uma IDE como IntelliJ IDEA ou Eclipse.
  • Conhecimento básico de Java (conceitos de OOP, tratamento de exceções).

Configurando GroupDocs.Search para Java

Configuração Maven

Adicione o repositório e a dependência ao seu 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

Você também pode baixar o JAR mais recente em GroupDocs.Search for Java releases.

Etapas de aquisição de licença

  1. Teste gratuito – explore a biblioteca sem custo.
  2. Licença temporária – solicite uma chave de curto prazo para avaliação estendida.
  3. Compra – obtenha uma licença completa para uso em produção.

Inicialização e configuração básicas

Para adicionar documentos ao índice, primeiro crie um objeto Index que aponta para a pasta onde os arquivos de índice serão armazenados:

Index é a classe principal que representa um índice pesquisável no disco.

import com.groupdocs.search.Index;

// Initialize the index by specifying a directory path
Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\NumericRangeSearch");

Esta linha cria (ou abre) um índice pronto para receber documentos.

Guia de implementação

Criando e indexando documentos

Como adicionar documentos ao índice

O método add escaneia uma pasta e armazena dados pesquisáveis para cada arquivo. Ele processa recursivamente todos os documentos suportados, extrai texto e metadados, e grava tokens na pasta de índice que você especificou anteriormente.

import com.groupdocs.search.Index;

// Initialize an index at the specified path
Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\NumericRangeSearch");

// Add documents from a directory for indexing
index.add("YOUR_DOCUMENT_DIRECTORY");
  • Parâmetros: A string de caminho aponta para a pasta que contém os arquivos que você deseja indexar.
  • Propósito: Após esta etapa, o índice contém tokens de todos os tipos de documentos suportados, permitindo buscas rápidas em toda a coleção.

Busca por consulta de texto

Como executar uma busca de intervalo numérico baseada em texto

Você pode pesquisar usando uma string simples que define um intervalo. O motor interpreta o operador ~~ como “entre” e retorna todos os documentos que contêm números dentro dos limites especificados.

import com.groupdocs.search.*;
import com.groupdocs.search.results.*;

// Define a query for numeric values within a specific range
String query1 = "400 ~~ 4000";

// Execute text-based search on indexed data
SearchResult result1 = index.search(query1);
  • Parâmetros: A string de consulta "400 ~~ 4000" indica ao motor encontrar números entre 400 e 4000.
  • Valor de retorno: SearchResult contém a lista de documentos correspondentes e destaca os fragmentos correspondentes.

Busca por consulta de objeto

Como usar uma consulta de objeto para intervalos numéricos

Consultas baseadas em objeto dão a você controle programático sobre os critérios de busca, permitindo combinar múltiplas condições ou construir consultas dinamicamente em tempo de execução.

import com.groupdocs.search.*;
import com.groupdocs.search.results.*;

// Create a numeric range query object
SearchQuery query2 = SearchQuery.createNumericRangeQuery(400, 4000);

// Perform search using the query object
SearchResult result2 = index.search(query2);
  • Parâmetros: createNumericRangeQuery recebe os inteiros de início e fim.
  • Propósito: Este método é ideal quando você precisa filtrar resultados por campos numéricos como totais de faturas, idades ou códigos de produto.

Aplicações práticas

Aqui estão alguns cenários reais onde como indexar documentos se torna um diferencial:

  1. Gerenciamento de documentos legais – localize cláusulas, números de processos ou datas em milhares de contratos em segundos.
  2. Relatórios financeiros – extraia transações que se enquadram em um intervalo monetário específico sem escanear cada planilha.
  3. Rastreamento de inventário – encontre itens por números de série, códigos de lote ou intervalos de SKU em um sistema de arquivos distribuído.

Integrar o GroupDocs.Search com bancos de dados, armazenamento em nuvem ou filas de mensagens pode automatizar ainda mais os fluxos de trabalho de documentos.

Considerações de desempenho

  • Atualizações regulares do índice: Reexecute index.add para novos arquivos para manter o índice atualizado.
  • Gerenciamento de recursos: Monitore o uso de heap; índices grandes se beneficiam de configurações otimizadas de coleta de lixo da JVM.
  • Otimização de consultas: Use consultas de objeto para filtros complexos a fim de reduzir varreduras desnecessárias e melhorar o tempo de resposta.

Problemas comuns e soluções

ProblemaPor que aconteceCorreção
A busca não retorna resultadosÍndice não construído ou caminho da pasta incorretoVerifique se index.add foi executado no diretório correto e se a pasta do índice tem permissão de escrita.
OutOfMemoryError durante a indexaçãoArquivos muito grandes ou heap insuficienteAumente o valor JVM -Xmx ou indexe arquivos em lotes menores.
Formato de arquivo não suportadoTipo de arquivo não reconhecido pelo GroupDocs.SearchCertifique-se de que a extensão está na lista de suportados (PDF, DOCX, XLSX, PPTX, TXT, HTML, etc.).

Perguntas frequentes

Q: Como atualizo um índice existente com novos documentos?
A: Chame index.add("NEW_DOCUMENT_PATH") novamente; a biblioteca mescla as novas entradas sem recriar todo o índice.

Q: O GroupDocs.Search pode lidar com diferentes formatos de arquivo?
A: Sim, ele suporta mais de 30 formatos—incluindo PDF, DOCX, XLSX, PPTX, TXT e HTML—para que você possa indexar praticamente qualquer documento empresarial.

Q: Quais são os requisitos de sistema para usar o GroupDocs.Search?
A: Runtime Java 8+, pelo menos 2 GB de RAM para coleções modestas (conjuntos maiores se beneficiam de 4 GB+), e acesso de leitura/escrita à pasta do índice.

Q: Como posso solucionar problemas de desempenho de busca?
A: Mantenha o índice atualizado, faça profiling das suas consultas e revise as configurações de memória da JVM. Reduzir o número de campos indexados ou usar consultas de objeto também pode acelerar a execução.

Q: Existe suporte a sinônimos ou correspondência aproximada (fuzzy)?
A: Sim, você pode habilitar dicionários de sinônimos e busca fuzzy via a classe SearchOptions para ampliar a correspondência sem sacrificar a relevância. A classe SearchOptions configura comportamento avançado de busca, como sinônimos e correspondência aproximada.


Última atualização: 2026-08-10
Testado com: GroupDocs.Search 25.4 para Java
Autor: GroupDocs

Tutoriais relacionados