Construir Rede de Busca Escalável – Indexar Documentos com GroupDocs.Java

Neste tutorial você aprenderá como adicionar documentos ao índice e construir uma rede de busca escalável com GroupDocs.Search para Java. Vamos percorrer a configuração de uma rede de busca, a implantação de nós e o tratamento de eventos para que sua aplicação possa processar eficientemente grandes coleções de documentos em vários servidores.

Respostas Rápidas

  • O que significa “add documents to index”? Significa inserir arquivos em um índice pesquisável para que possam ser consultados rapidamente.
  • Qual biblioteca fornece essa capacidade? GroupDocs.Search para Java.
  • Preciso de uma licença? Uma licença de avaliação temporária está disponível; uma licença comercial é necessária para produção.
  • Posso escalar horizontalmente? Sim—implantando múltiplas instâncias de SearchNetworkNode.
  • Qual versão do Java é necessária? JDK 8 ou superior.

O que é adicionar documentos ao índice?

Carregue seus arquivos de origem (PDF, DOCX, PPTX, etc.) no mecanismo GroupDocs.Search, que extrai texto, cria tabelas de frequência de termos e os armazena em um arquivo de índice. O índice resultante permite consultas de palavras‑chave em subsegundos, mesmo em coleções com centenas de páginas.

Por que usar GroupDocs.Search para Java em um ambiente em rede?

Distribua as cargas de trabalho de indexação e busca entre vários nós, reduza a latência das consultas processando próximo à fonte de dados e adicione ou remova nós sem tempo de inatividade. Essa arquitetura permite que você pesquise em vários servidores mantendo o desempenho consistente.

Pré‑requisitos

  • Java Development Kit (JDK) 8+ instalado.
  • Maven para gerenciamento de dependências.
  • Familiaridade básica com Java e a estrutura de projetos Maven.

Bibliotecas Necessárias, Versões e Dependências

Para implementar GroupDocs.Search para Java, inclua o seguinte em seu projeto Maven:

<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>

Alternativamente, faça o download da versão mais recente em GroupDocs.Search for Java releases. Você também pode encontrar as versões em GroupDocs Search Java releases.

Requisitos de Configuração do Ambiente

  • JDK 8 ou superior instalado em seu sistema.
  • Maven instalado e configurado se estiver usando um projeto Maven.

Pré‑requisitos de Conhecimento

  • Compreensão básica de programação Java.
  • Familiaridade com o gerenciamento de dependências no Maven.

Configurando GroupDocs.Search para Java

  1. Configuração do Maven: Adicione o repositório e a dependência conforme mostrado acima em seu arquivo pom.xml.
  2. Download Direto: Alternativamente, faça o download da biblioteca em GroupDocs Search Java releases.

Aquisição de Licença

  • Obtenha uma licença de avaliação gratuita ou temporária visitando o site da GroupDocs.
  • Para acesso completo e suporte, considere adquirir uma licença comercial.

Inicialização Básica

Inicialize o GroupDocs.Search em sua aplicação Java:

import com.groupdocs.search.*;

public class SearchSetup {
    public static void main(String[] args) {
        // Initialize an index
        Index index = new Index("path/to/index/directory");

        // Add documents to the index
        index.add("path/to/documents");
        
        System.out.println("GroupDocs.Search setup complete.");
    }
}

Como adicionar documentos ao índice em uma Rede de Busca?

Carregue seus documentos através de qualquer nó na rede; o framework distribui automaticamente a carga de indexação, balanceia a carga e atualiza o índice compartilhado em tempo real. Cada nó processa os arquivos atribuídos, extrai texto e grava alterações incrementais no índice central, garantindo que o conteúdo recém‑adicionado se torne pesquisável em todos os nós quase instantaneamente.

Recurso 1: Configurar Rede de Busca

Visão Geral

Configurar uma rede de busca envolve configurar nós para gerenciar e distribuir tarefas de busca de forma eficiente.

Etapa 1: Definir Caminho Base e Porta

A classe SearchNetworkNode representa um único nó que participa do índice distribuído.

String basePath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/SearchNetworkNodeEvents/";
int basePort = 49140; // Change if necessary due to busy port issues
Etapa 2: Configurar a Rede

NetworkConfiguration contém as configurações comuns (caminho base, portas, fator de replicação) que cada nó lê na inicialização.

import com.groupdocs.search.scaling.*;
import com.groupdocs.search.scaling.configuring.*;

Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);

Recurso 2: Implantar Nós da Rede de Busca

Visão Geral

Implante nós para distribuir e gerenciar operações de busca em sua rede.

Etapa 1: Implantar Nós Usando Configuração

Instâncias de SearchNetworkNode são iniciadas com o mesmo arquivo de configuração, permitindo que descubram umas às outras via a faixa de portas base definida.

import com.groupdocs.search.scaling.*;

SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);

Recurso 3: Inscrever-se em Eventos de Nó

Visão Geral

Inscrever-se em eventos de nó permite monitorar e responder a várias ações dentro da rede de busca.

Etapa 1: Definir Método de Inscrição

NodeEventListener é uma interface que você implementa para receber callbacks de progresso de indexação, erros e mudanças na saúde do nó.

import com.groupdocs.search.events.*;
import com.groupdocs.search.scaling.events.*;

public static void subscribe(SearchNetworkNode node) {
    // Subscribe to IndexingCompleted event
    node.getEvents().IndexingCompleted.add(new EventHandler() {
        @Override
        public void invoke(Object s, EventArgs e) {
            System.out.println("Indexing completed.");
        }
    });

    // Additional events can be subscribed similarly...
}
Etapa 2: Usar Método de Inscrição

Registre seu listener em cada nó para receber feedback em tempo real durante operações de lote grandes.

SearchNetworkNode masterNode = nodes[0];
subscribe(masterNode);

Encerrando Nós

Sempre desligue os nós de forma graciosa para liberar gravações pendentes e liberar sockets de rede.

for (SearchNetworkNode node : nodes) {
    node.close();
}

Aplicações Práticas

  1. Soluções de Busca Corporativa – Implemente uma rede de busca para lidar com buscas de documentos em larga escala em vários servidores.
  2. Plataformas de E‑commerce – Melhore as capacidades de busca de produtos distribuindo tarefas de indexação entre vários nós.
  3. Sistemas de Gerenciamento de Conteúdo (CMS) – Melhore o desempenho da recuperação e atualização de conteúdo em ambientes CMS.

Considerações de Desempenho

  • Otimize a implantação dos nós com base nos recursos do seu sistema.
  • Monitore regularmente o uso de memória para prevenir vazamentos, especialmente ao lidar com grandes conjuntos de dados.
  • Utilize as configurações para ajustar finamente as operações de indexação e busca, obtendo maior eficiência.

Problemas Comuns e Soluções

ProblemaCausa TípicaSolução
Conflitos de portabasePort já está em usoAlterar basePort para um número disponível
Nó não acessívelRegra de firewall ou de redeAbrir as portas necessárias e verificar a conectividade
Índice não atualizandoCaminho de documento incorretoVerificar se basePath aponta para o diretório correto
Uso elevado de memóriaIndexação em lote grandeIndexar documentos em lotes menores ou aumentar o tamanho do heap

Perguntas Frequentes

Q: Como lidar com conflitos de porta ao implantar nós?
A: Alterar a variável basePort no seu código de configuração para uma porta disponível.

Q: O GroupDocs.Search pode ser usado para indexação em tempo real?
A: Sim, ele suporta indexação em tempo real com configurações adequadas.

Q: Quais são alguns problemas comuns durante a implantação de nós?
A: Conectividade de rede e configurações de caminho incorretas são causas frequentes. Certifique‑se de que todos os caminhos e portas estejam configurados corretamente.

Q: É possível adicionar documentos ao índice após a rede estar em execução?
A: Absolutamente. Você pode chamar index.add(...) em qualquer nó, e a rede distribuirá a nova carga de trabalho automaticamente.

Q: Preciso de uma licença para testes de desenvolvimento?
A: Uma licença de avaliação temporária é suficiente para testes; uma licença comercial é necessária para uso em produção.

Recursos

Seguindo este guia, você pode efetivamente adicionar documentos ao índice e gerenciar uma robusta, construir rede de busca escalável usando GroupDocs.Search para Java. Feliz codificação!


Última Atualização: 2026-05-22
Testado com: GroupDocs.Search 25.4 para Java
Autor: GroupDocs

Tutoriais Relacionados