Comment configurer la recherche avec GroupDocs.Search en Java

Dans le monde numérique d’aujourd’hui, comment configurer la recherche efficacement peut faire ou défaire le succès d’un projet. Que vous manipuliez des milliers de contrats, d’articles de recherche ou de rapports internes, un réseau de recherche bien conçu vous permet de localiser le bon document en quelques secondes. Ce tutoriel vous guide à travers la configuration d’un réseau de recherche, le déploiement des nœuds et l’activation des mises à jour de recherche en temps réel avec GroupDocs.Search pour Java.

Réponses rapides

  • Quel est le but principal d’un réseau de recherche ? Distribuer l’indexation et le traitement des requêtes sur plusieurs nœuds pour la scalabilité et la rapidité.
  • Quelle version de la bibliothèque est requise ? GroupDocs.Search pour Java v25.4 ou plus récent.
  • Ai‑je besoin d’une licence ? Un essai gratuit suffit pour l’évaluation ; une licence commerciale est requise pour la production.
  • Comment les mises à jour en temps réel sont‑elles gérées ? En s’abonnant aux événements des nœuds qui se déclenchent lors des changements d’indexation.
  • Puis‑je ajouter de nouveaux dossiers de documents à la volée ? Oui — utilisez la méthode addDirectories de l’indexeur.

Qu’est‑ce que « comment configurer la recherche » dans le contexte GroupDocs ?

Configurer la recherche signifie mettre en place un réseau de recherche qui sait où se trouvent vos documents, comment les nœuds communiquent et comment l’indexation est coordonnée. Une fois le réseau configuré, vous pouvez ajouter ou supprimer des nœuds sans interruption, garantissant un accès continu à des résultats de recherche à jour.

Pourquoi utiliser GroupDocs.Search pour Java ?

  • Scalabilité : Distribuer la charge de travail sur plusieurs machines.
  • Mises à jour en temps réel : Réfléter instantanément les fichiers nouvellement indexés sur le réseau.
  • Facilité d’intégration : Configuration Maven simple et APIs Java claires.
  • Prêt pour l’entreprise : Gère de grands corpus et des scénarios de requêtes complexes.

Prérequis

  • Java Development Kit (JDK) 8+ installé.
  • Maven pour la gestion des dépendances.
  • Familiarité de base avec Java, Maven et les concepts de recherche.

Configuration de GroupDocs.Search pour Java

Dépendance Maven

Ajoutez le dépôt 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>

Téléchargement direct : Vous pouvez également obtenir la bibliothèque depuis GroupDocs.Search for Java releases.

Acquisition de licence

  • Essai gratuit : Obtenez une licence d’essai pour explorer toutes les fonctionnalités.
  • Licence temporaire : Demandez une période d’évaluation prolongée.
  • Licence commerciale : Requise pour les déploiements en production.

Initialisation de base

import com.groupdocs.search.Configuration;
// Initialize configuration with your document path and port
String basePath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/GettingDocumentsInNetwork/";
int basePort = 49112;

Configuration config = new Configuration(basePath, basePort);

Comment configurer le réseau de recherche en Java

Étape 1 : Importer les packages requis

import com.groupdocs.search.scaling.ConfiguringSearchNetwork;
import com.groupdocs.search.scaling.Configuration;

Étape 2 : Configurer le réseau

String basePath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/GettingDocumentsInNetwork/";
int basePort = 49112;

Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
  • Paramètres : basePath indique le dossier de vos documents ; basePort est le port TCP utilisé pour la communication des nœuds.

Déploiement des nœuds du réseau de recherche

Étape 1 : Importer le package de déploiement

import com.groupdocs.search.scaling.SearchNetworkDeployment;
import com.groupdocs.search.scaling.SearchNetworkNode;

Étape 2 : Déployer les nœuds

String[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
SearchNetworkNode masterNode = nodes[0]; // Designate the first node as the master node
  • Nœud maître : Coordonne les recherches et l’indexation sur tous les nœuds.

S’abonner aux événements des nœuds pour les mises à jour de recherche en temps réel

Étape 1 : Importer le package d’événements

import com.groupdocs.search.scaling.SearchNetworkNodeEvents;

Étape 2 : S’abonner aux événements du nœud maître

SearchNetworkNodeEvents.subscribe(masterNode);
  • Gestion des événements : Active les mises à jour de recherche en temps réel chaque fois que des documents sont ajoutés, mis à jour ou supprimés.

Ajout de répertoires pour l’indexation

Étape 1 : Importer le package d’indexeur

import com.groupdocs.search.examples.Utils;
import com.groupdocs.search.scaling.Indexer;

Étape 2 : Ajouter des répertoires de documents

Indexer indexer = masterNode.getIndexer();
indexer.addDirectories("YOUR_DOCUMENT_DIRECTORY/DocumentsPath");
  • Indexation dynamique : Ajoutez autant de dossiers que nécessaire ; le réseau les indexera automatiquement.

Récupération des documents indexés

Étape 1 : Importer le package de recherche

import com.groupdocs.search.scaling.Searcher;
import com.groupdocs.search.scaling.NetworkDocumentInfo;

Étape 2 : Récupérer les informations du document

Searcher searcher = masterNode.getSearcher();
int[] shardIndices = masterNode.getShardIndices();

for (int i = 0; i < shardIndices.length; i++) {
    int shardIndex = shardIndices[i];
    NetworkDocumentInfo[] infos = searcher.getIndexedDocuments(shardIndex);

    for (NetworkDocumentInfo info : infos) {
        int nodeIndex = masterNode.getNodeIndex(info.getShardIndex());
        String filePath = info.getDocumentInfo().getFilePath();

        // Retrieve and process document attributes
        String[] attributes = indexer.getAttributes(filePath);
        
        NetworkDocumentInfo[] items = searcher.getIndexedDocumentItems(info);
        for (NetworkDocumentInfo item : items) {
            // Process each indexed item
        }
    }
}
  • Gestion des shards : Gère efficacement les grands ensembles de données en répartissant les documents sur plusieurs shards.

Applications pratiques

  1. Gestion documentaire d’entreprise : Centraliser la recherche sur des millions de fichiers.
  2. Cabinets juridiques : Localiser rapidement les dossiers de cas, contrats et preuves.
  3. Recherche académique : Indexer les revues et articles pour une récupération instantanée.

Considérations de performance

  • Optimiser l’indexation : Planifier des rafraîchissements réguliers de l’index et purger les données obsolètes.
  • Gestion de la mémoire : Surveiller le tas JVM, surtout lors du traitement de gros shards.
  • Planification de la scalabilité : Ajouter des nœuds à mesure que votre corpus grandit ; le réseau équilibre automatiquement la charge.

Problèmes courants & solutions

ProblèmeCauseSolution
Les nœuds ne peuvent pas se connecterConflit de port ou pare-feuAssurez‑vous que basePort est ouvert et n’est pas utilisé par d’autres services
L’index ne se met pas à jourAbonnement aux événements manquantAppelez SearchNetworkNodeEvents.subscribe(masterNode) après le déploiement
Erreurs de mémoire insuffisanteTrop de gros shards chargésRéduisez la taille des shards ou augmentez le tas JVM (-Xmx flag)

Questions fréquemment posées

Q : Puis‑je ajouter de nouveaux répertoires après le démarrage du réseau ?
R : Oui — utilisez la méthode indexer.addDirectories() ; les événements abonnés propageront les mises à jour en temps réel.

Q : Comment surveiller la santé des nœuds ?
R : Chaque SearchNetworkNode fournit des APIs de statut ; intégrez‑les à votre outil de surveillance préféré.

Q : Est‑il possible d’exécuter le nœud maître sur une machine séparée ?
R : Absolument. Assurez‑vous simplement que tous les nœuds partagent le même basePort et peuvent se rejoindre via le réseau.

Q : Quels formats de fichiers sont pris en charge ?
R : GroupDocs.Search prend en charge les PDF, Word, Excel, PowerPoint, le texte brut et de nombreux autres formats dès l’installation.

Q : Dois‑je redémarrer le réseau après avoir ajouté un nouveau nœud ?
R : Non — les nœuds peuvent être ajoutés ou supprimés dynamiquement ; le nœud maître rééquilibrera les shards automatiquement.

Conclusion

Vous avez maintenant une compréhension complète, étape par étape, de comment configurer la recherche avec GroupDocs.Search pour Java, depuis la configuration initiale jusqu’aux mises à jour en temps réel et à l’indexation distribuée. Appliquez ces modèles pour créer des solutions de recherche documentaire rapides, évolutives et fiables pour tout secteur.


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