Como Configurar a Rede com GroupDocs.Search Java

Introdução

No cenário digital atual, como configurar a rede para buscas de documentos em grande escala é uma habilidade crítica para qualquer empresa. Soluções tradicionais frequentemente encontram limites de desempenho quando o conjunto de dados cresce, mas GroupDocs.Search for Java oferece uma base escalável e de alto desempenho. Neste tutorial, percorreremos tudo o que você precisa para configurar uma rede de busca robusta — desde a configuração de portas até a implantação de nós, indexação de documentos, assinatura de eventos e até a realização de buscas de imagens.

Respostas Rápidas

  • Qual é o objetivo principal de uma rede de busca? Distribuir a carga de indexação e consultas entre múltiplos nós para melhor Qual porta o GroupDocs.Search usa por padrão? O exemplo usa a porta 49120, mas você pode implantados ou retir coleção deSearchNetworkNode** que compartilham informações de indexação e respondem a consultas de forma colaborativa. Essa arquitetura permite lidar com coleções massivas deicione nós conforme seu repositório cresce.
  • Desempenho: Indexação e processamento de consultas paralelos reduzem a latência.
  • Flexibilidade: Suporta texto, PDF, arquivos Office e buscas de imagens.
  • Gerenciamento Orientado a Eventos: Monitoramento em tempo real através de assinaturas de eventos.

Pré-requisitos

  • JDK 8+ instalado.
  • Uma IDE como IntelliJ IDEA ou Eclipse.
  • Maven para gerenciamento de dependências.
  • Conhecimento básico de Java e conceitos de rede.

Bibliotecas e Dependências Necessárias

Adicione o repositório GroupDocs 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>

Alternativamente, faça o download da versão mais recente em GroupDocs.Search for Java releases.

Configurando o GroupDocs.Search para Java

Instalação via Maven

O trecho Maven acima traz a biblioteca para o seu projeto automaticamente.

Teste Gratuito – explore os recursos principais.

  • Licença Temporária – período de teste estendido.
  • Licença Completa – pronta para produção, uso ilimitado.

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

import com.groupdocs.search.*;

public class SearchSetup {
    public static void main(String[] args) {
        // Create an instance of Index with the path to store index data.
        String indexPath = "path/to/index";
        Index index = new Index(indexPath);
        
        System.out.println("GroupDocs.Search initialized successfully.");
    }
}

Guia de Implementação

Vamos agora mergulhar em cada tarefa principal, usando trechos de código claros e passo a passo.

Como Implantar Nós em uma Rede de Busca

a carga de trabalho e melhora a tolerância a falhas.

public class SearchNetworkDeployment {
    public static void run() {
        String basePath = "YOUR_DOCUMENT_DIRECTORY";
        int basePort = 49120; // Change if necessary.
        Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);

        SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
        
        System.out.println("Deployed " + nodes.length + " search network nodes.");
    }
}

Explicação:

  • basePath aponta para a pasta que contém seus documentos.
  • basePort é a porta da rede de busca que cada nó escuta; ajuste para evitar conflitos.
  • O método retorna um array de objetos SearchNetworkNode representando cada nó ativo.

Como Assinar Eventos

A assinatura de eventos fornece insight em tempo real sobre a saúde dos nós, progresso da indexação e erros.

public class NodeEventSubscription {
    public static void run() {
        String basePath = "YOUR_DOCUMENT_DIRECTORY";
        int basePort = 49120; // Adjust if needed.
        Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
        SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);

        SearchNetworkEvents.subscribe(nodes[0]);
        
        System.out.println("Subscribed to events for the master node.");
    }
}

Explicação:

  • nodes[0] é tratado como o nó mestre; você também pode assinar cada nó trabalhador individualmente.

Como Indexar Documentos

Indexação eficiente é a espinha dorsal de resultados de busca rápidos.

public class DocumentIndexing {
    public static void run() {
        String basePath = "YOUR_DOCUMENT_DIRECTORY";
        int basePort = 49120; // Change if there is a conflict.
        Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
        SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);

        IndexingDocuments.addDirectories(nodes[0], "YOUR_DOCUMENT_DIRECTORY");
        
        System.out.println("Added directories to master node's index.");
    }
}

Explicação:

  • addDirectories informa ao nó mestre quais pastas escanear e indexar.
  • Uma vez indexado, todos os nós podem consultar o índice compartilhado.

Como Realizar uma Busca de Imagem

O GroupDocs.Search suporta comparação de hash de imagem, permitindo localizar ativos visualmente semelhantes.

public class ImageSearch {
    public static void run() {
        String basePath = "YOUR_DOCUMENT_DIRECTORY";
        int basePort = 49120; // Modify if needed.
        Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
        SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);

        SearchImage searchImage = SearchImage.create("YOUR_DOCUMENT_DIRECTORY/ic_arrow_back_black_18dp.png");

        imageSearch(nodes[0], searchImage, 8);
    }
}

Explicação:

  • SearchImage.create carrega a imagem de referência.
  • imageSearch executa a consulta no nó selecionado, permitindo uma diferença máxima de hash de 8 (ajuste para correspondências mais estritas ou mais flexíveis).

Como Configurar Portas de Rede

Se o seu ambiente já usa a porta 49120, você pode alterá‑la para qualquer porta TCP livre:

int customPort = 50000; // Example of a custom port.
Configuration configuration = ConfiguringSearchNetwork.configure(basePath, customPort);

Certifique-se de que a porta escolhida está aberta no seu firewall e não é usada por outros serviços.

Problemas Comuns & Solução de Problemas

SintomaCausa ProvávelCorreção
Falha ao iniciar nósConflito de portaEscolha um basePort diferente e atualize as regras do firewall.
Indexação lentaLargura de banda de I/O insuficienteUse armazenamento SSD e habilite indexação incremental.
Assinatura de eventos não disparaRegistro de manipulador de evento ausenteGaranta que SearchNetworkEvents.subscribe(node) seja chamado antes de iniciar qualquer indexação.
Busca de imagem não retorna resultadosDiferença de hash muito baixaAumente a diferença de hash permitida (ex.: de 4 para 8).

Perguntas Frequentes

Q: Como otimizar o desempenho da indexação em uma rede GroupDocs.Search?
R: Use indexação incremental, armazene o índice em SSDs rápidos e aloque memória heap suficiente para a JVM.

Q: Posso adicionar ou remover nós sem reiniciar toda a rede de busca?
R: Sim — os nós podem ser implantados ou retirados dinamicamente. Após adicionar um nó, invoque SearchNetworkDeployment.deploy novamente buscar diferentes formatos
muitos outros formatos em uma única consulta.

Q: Quão segura é a data em uma rede GroupDocs.Search?
R: A segurança depende da sua infraestrutura. Implemente SSL/TLS para a comunicação entre nós, restrinja o acesso à rede e siga as melhores práticas de proteção de dados.

Última Atualização: 2026-01-19
Testado com: GroupDocs.Search 25.4 for Java
Autor: GroupDocs