Comment ajouter la dépendance Maven GroupDocs pour le réseau de recherche
Dans ce guide complet, vous découvrirez comment ajouter la dépendance Maven groupdocs, configurerez un réseau de recherche Java robuste avec GroupDocs.Search et maintiendrez vos fragments synchronisés. Que vous indexiez des mémoires juridiques, des états financiers ou des articles académiques, les étapes ci‑dessous vous aideront à créer des index recherchables, à répartir la charge des requêtes sur plusieurs nœuds et à assurer la cohérence des données avec un effort minimal.
Réponses rapides
- Qu’est-ce que la dépendance Maven GroupDocs ? Un artefact Maven qui regroupe la bibliothèque GroupDocs.Search pour les projets Java.
- Pourquoi utiliser un réseau de recherche ? Il répartit la charge d’indexation et de requêtes sur plusieurs nœuds, améliorant la vitesse et la fiabilité.
- Comment ajouter des répertoires à indexer ? Utilisez
IndexingDocuments.addDirectoriessur le nœud maître. - Comment synchroniser les fragments ? Appelez
SynchronizeOptionssur leIndexerde chaque nœud. - Ai-je besoin d’une licence ? Oui, une licence d’essai ou commerciale est requise pour une utilisation en production.
Qu’est-ce que la dépendance Maven GroupDocs ?
La GroupDocs Maven dependency est un artefact Maven qui regroupe la bibliothèque GroupDocs.Search pour les projets Java.
Elle fournit toutes les classes nécessaires pour créer des index recherchables, gérer les nœuds du réseau et exécuter des requêtes rapides, et Maven résout automatiquement les dépendances transitives, vous offrant un moteur de recherche prêt à l’emploi avec seulement quelques lignes dans votre pom.xml.
Comment ajouter la dépendance Maven GroupDocs
Ajoutez les entrées du dépôt et de la dépendance à votre pom.xml, puis exécutez mvn clean install ; Maven télécharge le JAR groupdocs-search ainsi que ses bibliothèques requises, rendant l’API disponible dans votre projet. Après la réussite de la construction, vous pouvez commencer à utiliser immédiatement les classes com.groupdocs.search.
Configuration 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>
Astuce : Gardez le numéro de version à jour en consultant la page officielle des versions.
Vous pouvez également télécharger le JAR directement depuis le site officiel : GroupDocs.Search pour Java - releases.
Pourquoi utiliser un réseau de recherche ?
Un réseau de recherche permet une mise à l’échelle horizontale en partitionnant l’index en fragments qui résident sur des nœuds séparés. GroupDocs.Search peut gérer plus de 50 formats d’entrée et traiter des documents de plusieurs centaines de pages sans charger le fichier complet en mémoire, offrant des réponses aux requêtes en sous‑seconde même lorsque le volume de données augmente.
Prérequis
- JDK (11 ou plus récent) installé.
- Un IDE tel qu’IntelliJ IDEA ou Eclipse.
- Connaissances de base en Java, familiarité avec Maven, et compréhension des concepts de nœuds réseau.
- Une licence valide GroupDocs.Search (essai gratuit ou commerciale).
Initialisation et configuration de base
Commencez par créer un répertoire d’index :
import com.groupdocs.search.SearchIndex;
import com.groupdocs.search.options.IndexingOptions;
// Create an index in the specified directory
SearchIndex index = new SearchIndex("YOUR_INDEX_DIRECTORY");
Cette étape simple prépare l’environnement pour la configuration réseau suivante.
Guide d’implémentation
Fonctionnalité 1 : Configuration du réseau de recherche
Vue d’ensemble
Configurer le réseau de recherche définit les chemins de fichiers et les ports que les nœuds utiliseront pour communiquer.
Configuration des chemins et des ports
Configuration est une classe qui contient les chemins réseau, les ports et d’autres paramètres pour le cluster de recherche.
import com.groupdocs.search.options.*;
import com.groupdocs.search.scaling.configuring.ConfiguringSearchNetwork;
// Set custom paths for input/output directories
String basePath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/SynchronizingShards/";
int basePort = 49144; // Adjust if there's a port conflict
Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
L’objet configuration contient maintenant tous les paramètres nécessaires pour votre réseau de recherche.
Fonctionnalité 2 : Déploiement des nœuds du réseau de recherche
Vue d’ensemble
Déployez des nœuds pour répartir la charge de travail sur votre réseau. Le nœud maître gère les opérations et les événements.
Code de déploiement
SearchNetworkNode représente un nœud du réseau de recherche qui peut agir comme maître ou travailleur.
import com.groupdocs.search.scaling.*;
import com.groupdocs.search.options.Configuration;
SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
// Retrieve the master node for further operations
SearchNetworkNode masterNode = nodes[0];
Fonctionnalité 3 : Souscription aux événements du nœud du réseau de recherche
Vue d’ensemble
Écouter les événements permet de gérer dynamiquement les changements ou les mises à jour dans votre réseau.
Implémentation de l’abonnement
SearchNetworkNodeEvents fournit des hooks d’événements pour le cycle de vie du nœud et les actions d’indexation.
import com.groupdocs.search.scaling.SearchNetworkNode;
import com.groupdocs.search.scaling.SearchNetworkNodeEvents;
SearchNetworkNodeEvents.subscribe(masterNode);
Fonctionnalité 4 : Ajout de répertoires à l’index
Vue d’ensemble
L’ajout de répertoires est l’étape centrale qui rend vos documents recherchables.
Ajout de documents
IndexingDocuments.addDirectories ajoute les chemins de dossiers à l’index pour le traitement.
import com.groupdocs.search.indexing.IndexingDocuments;
import com.groupdocs.search.scaling.SearchNetworkNode;
IndexingDocuments.addDirectories(masterNode, "YOUR_DOCUMENT_DIRECTORY/DocumentsPath");
Fonctionnalité 5 : Synchronisation des fragments dans le nœud du réseau de recherche
Vue d’ensemble
La synchronisation assure la cohérence des données entre tous les fragments.
Code de synchronisation
SynchronizeOptions configure la manière dont les fragments sont synchronisés entre les nœuds.
import com.groupdocs.search.indexing.Indexer;
import com.groupdocs.search.scaling.SearchNetworkNode;
import com.groupdocs.search.options.SynchronizeOptions;
SearchNetworkNode node = null; // Assume 'node' is initialized as a SearchNetworkNode
def synchronizeShards(SearchNetworkNode node) {
Indexer indexer = node.getIndexer();
SynchronizeOptions options = new SynchronizeOptions();
indexer.synchronize(options);
}
Fonctionnalité 6 : Fermeture des nœuds du réseau de recherche
Vue d’ensemble
Fermer correctement les nœuds libère les ressources et prévient les fuites de mémoire.
Fermeture du nœud
close() libère les ressources et arrête le nœud du réseau de recherche.
import com.groupdocs.search.scaling.SearchNetworkNode;
for (SearchNetworkNode node : nodes) {
node.close();
}
Applications pratiques
- Gestion de documents juridiques – Récupérez rapidement les dossiers et précédents.
- Gestion des dossiers financiers – Accédez aux relevés et aux pistes d’audit en quelques secondes.
- Recherche académique – Recherchez parmi des milliers d’articles pour trouver les citations pertinentes.
Considérations de performance
- Optimiser les requêtes – Rédigez des requêtes concises pour réduire le temps de réponse.
- Gestion de la mémoire – Surveillez l’utilisation du tas JVM ; envisagez un réglage du GC pour les gros index.
- Stratégie de mise à l’échelle – Ajoutez des nœuds proportionnellement au volume de données et à la charge des requêtes.
Problèmes courants et solutions
| Problème | Cause | Solution |
|---|---|---|
| Les nœuds ne parviennent pas à se connecter | Conflit de port | Modifiez basePort avec une valeur non utilisée |
| L’index ne se met pas à jour | Abonnement aux événements manquant | Assurez‑vous que SearchNetworkNodeEvents.subscribe(masterNode) est appelé |
| Latence élevée | Fragments insuffisants | Augmentez le nombre de nœuds et équilibrez la distribution des documents |
Questions fréquemment posées
Q : Quel est le principal avantage d’utiliser GroupDocs.Search ?
R : Il offre des capacités de recherche rapides et évolutives sur de grands ensembles de documents avec une configuration minimale.
Q : Puis‑je personnaliser les configurations des nœuds dans un réseau de recherche ?
R : Oui, vous pouvez définir des chemins, des ports et d’autres options personnalisées via l’objet Configuration.
Q : Comment ajouter des répertoires à l’index après le démarrage du réseau ?
R : Appelez IndexingDocuments.addDirectories(masterNode, "path") chaque fois que vous devez indexer de nouveaux dossiers.
Q : Comment synchroniser les fragments lorsqu’un nouveau nœud rejoint le réseau ?
R : Utilisez la méthode synchronizeShards présentée ci‑dessus sur le nœud nouvellement ajouté.
Q : Ai‑je besoin d’une licence pour le développement ?
R : Une licence d’essai gratuite suffit pour les tests ; une licence commerciale est requise pour la production.
Conclusion
En suivant ce guide, vous savez maintenant comment ajouter la dépendance Maven groupdocs, configurer un réseau de recherche multi‑nœuds, indexer des répertoires et maintenir les fragments synchronisés. Ces étapes posent les bases d’une solution de recherche de documents haute performance qui peut évoluer avec les besoins de votre organisation.
Last Updated: 2026-05-17
Tested With: GroupDocs.Search 25.4
Author: GroupDocs