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:
basePathaponta 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
SearchNetworkNoderepresentando 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:
addDirectoriesinforma 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.createcarrega a imagem de referência.imageSearchexecuta 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
| Sintoma | Causa Provável | Correção |
|---|---|---|
| Falha ao iniciar nós | Conflito de porta | Escolha um basePort diferente e atualize as regras do firewall. |
| Indexação lenta | Largura de banda de I/O insuficiente | Use armazenamento SSD e habilite indexação incremental. |
| Assinatura de eventos não dispara | Registro de manipulador de evento ausente | Garanta que SearchNetworkEvents.subscribe(node) seja chamado antes de iniciar qualquer indexação. |
| Busca de imagem não retorna resultados | Diferença de hash muito baixa | Aumente 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