Comment configurer le réseau avec GroupDocs.Search Java

Introduction

Dans le paysage numérique actuel, comment configurer le réseau pour la recherche de documents à grande échelle est une compétence cruciale pour toute entreprise. Les solutions traditionnelles rencontrent souvent des limites de performance lorsque le jeu de données augmente, mais GroupDocs.Search for Java vous offre une base évolutive et haute performance. Dans ce tutoriel, nous passerons en revue tout ce dont vous avez besoin pour mettre en place un au déploiement des nœ d’un réseau de recherche ?** Distribuer la charge d’indexation et de requêtes sur plusieurs nœuds pour une meilleure évolutivité et fiabilité.

  • Quel port GroupDocs.Search utilise-t-il par défaut ? L’exemple utilise le port 49120, mais vous pouvez choisir n’importe quel port libre.
  • Puis-je ajouter ou retirer des nœuds sans interruption ? Oui — les nœuds peuvent être déployés ou retirés dynamiquement.
  • Ai-je besoin d’une licence pour la production ? Une licence complète est requise pour uneai sont disponibles pour l’évaluation.
  • **La recherche d collaborative. Cette architecture vous permet de gérer d’énormes collections de documents tout en maintenant des temps de réponse faibles.

Pourquoi utiliser GroupDocs.Search pour Java ?

  • Scalabilité : Ajoutez des nœuds à mesure que votre référentiel grandit.
  • Performance : L’indexation et le traitement des requêtes en parallèle réduisent la latence.
  • Flexibilité : Prend en charge le texte, les PDF, les fichiers Office et les recherches d’images.
  • Gestion pilotée par les événements : Surveillance en temps réel grâce aux abonnements aux événements.

Prérequis

  • JDK 8+ installé.
  • Un IDE tel que IntelliJ IDEA ou Eclipse.
  • Maven pour la gestion des dépendances.
  • Connaissances de base en Java et concepts réseau.

Bibliothèques et dépendances requises

Ajoutez le référentiel GroupDocs et la dépendance à votre 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>

Sinon, téléchargez la dernière version depuis GroupDocs.Search for Java releases.

Configuration de GroupDocs.Search pour Java

Installation via Maven

Le fragment Maven ci‑dessus récupère automatiquement la bibliothèque dans votre projet.

Acquisition de licence

  • Essai gratuit – explorez les fonctionnalités de base.
  • Licence temporaire – période de test prolongée.
  • Licence complète – prête pour la production, utilisation illimitée.

Initialisation et configuration de base

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.");
    }
}

Guide d’implémentation

Nous allons maintenant plonger dans chaque tâche principale, en utilisant des extraits de code clairs, étape par étape.

Comment déployer des nœuds dans un réseau de recherche

Déployer plusieurs nœuds répart améliore la tolérance aux pannes.

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.");
    }
}

**basePort` est le port du réseau de recherche sur lequel chaque nœud écouteœuds, la progression erreurs.

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.");
    }
}

Explication :

  • nodes[0] est considéré comme le nœud maître ; vous pouvez également vous abonner à chaque nœud de travail individuellement.

Comment indexer des documents

Un indexage efficace est la colonne vertébrale de résultats de recherche rapides.

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.");
    }
}

Explication :

  • addDirectories indique au nœud maître quels dossiers scanner et indexer.
  • fois indexé, tous les nœuds peuvent interroger l’index partagé.

Comment effectuer une recherche d’image

GroupDocs.Search prend en charge la comparaison de hachage d’image, vous permettant de localiser des actifs visuellement similaires.

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);
    }
}

Explication :

  • SearchImage.create charge l’image de référence.
  • imageSearch exécute la requête sur le nœud sélectionné, autorisant une différence de hachage maximale de 8 (ajustez pour des correspondances plus strictes ou plus souples).

Comment configurer les ports réseau

Si votre environnement utilise déjà le port 49120, vous pouvez le changer pour n’importe quel port TCP libre :

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

Assurez‑vous que le port choisi est ouvert dans votre pare‑feu et n’est pas utilisé par d’autres services.

Problèmes courants et dépannage

SymptômeCause probableSolution
Les nœuds ne démarrent pasConflit de portChoisissez un autre basePort et mettez à jour les règles du pare‑feu.
L’indexation est lenteBande passante d’E/S insuffisanteUtilisez un stockage SSD et activez l’indexation incrémentielle.
L’abonnement aux événements ne se décl pasEnregistrement du gestionnaire d’événement manquantAssurez‑vous que SearchNetworkEvents.subscribe(node) est appelé avant le début de toute indexation.
La recherche d’images ne renvoie aucun résultatDifférence de hachage trop faibleAugmentez la différence de hachage autorisée (par ex., optimiser les performances d’indexation dans un réseau GroupDocs.Search ?**
A : Utilisez l’indexation incrémentielle, stockez l’index sur des SSD ajouté un nœud, invoquez SearchNetworkDeployment.deploy à nouveau pour rafraîchirQ : Comment l’abonnement aux événements améliore‑t‑il la gestion du réseau ?**
A : Les événements abonnés fournissent des alertes en temps réel sur les changements d’état des nœuds, la progression de l’indexation et les erreurs, permettant un dépannage proactif.

Q : Est‑il possible de rechercher différents formats de documents simultanément ?
A : images et de nombreux autres.

Q : Quelle est la sécurité des données dans un réseau GroupDocs.Search ?
A : La sécurité dépend de votre infrastructure. Mettez en œuvre SSL/TLS pour la communication entre nœuds, restreignez l’accès au réseau et suivez les meilleures pratiques de protection des données.

Dernière mise à jour : 2026-01-19
Testé avec : GroupDocs.Search 25.4 for Java
Auteur : GroupDocs