Configurer le port de base groupdocs en Java Search Network

Dans les applications modernes et gourmandes en données, configure base port groupdocs est la première étape pour créer une infrastructure de recherche rapide et fiable. Que vous indexiez des milliers de PDF ou que vous vous étendiez sur plusieurs serveurs, l’attribution de ports et de répertoires uniques empêche les conflits entre nœuds et maintient le cluster en bonne santé. Ce tutoriel vous guide à travers les prérequis, l’installation et une configuration multi‑nœuds complète en utilisant GroupDocs.Search pour Java, afin que vous puissiez lancer dès aujourd’hui un réseau de recherche véritablement évolutif.

Réponses rapides

  • Quel est le but principal ? Pour attribuer des ports uniques et des répertoires de base à chaque nœud de recherche, éliminant les conflits.
  • Ai-je besoin d’une licence ? Oui – une licence d’essai ou complète est requise pour les déploiements en production.
  • Quelle version de Java est prise en charge ? Java 8 ou supérieur (Java 11+ recommandé).
  • Puis-je exécuter cela sur des serveurs cloud ? Absolument – il suffit d’ouvrir les ports choisis dans vos groupes de sécurité cloud.
  • Combien de nœuds puis-je ajouter ? Pas de limite stricte ; vous êtes limité uniquement par le matériel et la capacité du réseau.

Qu’est‑ce que « configure base port groupdocs » ?

Configure base port groupdocs est le processus d’attribution d’un port TCP de départ que chaque nœud de recherche utilisera et incrémentera pour les nœuds suivants. Cette étape simple élimine les redoutables erreurs « port déjà utilisé » et prépare le terrain pour un cluster de recherche propre et horizontalement évolutif, garantissant que chaque nœud communique via un point de terminaison distinct.

Pourquoi utiliser GroupDocs.Search pour un réseau évolutif ?

GroupDocs.Search offre high‑performance indexing (jusqu’à 50 GB/min sur un serveur standard à 8 cœurs) et prend en charge plus de 50 formats de fichiers dont PDF, DOCX, PPTX et HTML. Son architecture modulaire vous permet de combiner indexeurs, moteurs de recherche, fragments et extracteurs sur différents nœuds, offrant une évolutivité linéaire à mesure que vous ajoutez du matériel. La bibliothèque propose également des options de compression intégrées qui réduisent l’utilisation du disque jusqu’à 70 % tout en maintenant la latence des requêtes en dessous de 200 ms pour des charges de travail typiques.

Prérequis

  • Java Development Kit (JDK) 8 ou plus récent (Java 11+ recommandé pour une meilleure collecte des déchets).
  • IDE tel que IntelliJ IDEA ou Eclipse.
  • GroupDocs.Search for Java library (version 25.4 ou ultérieure) installée via Maven ou téléchargement manuel.
  • Connaissances de base en réseau (ports TCP, localhost vs. hôtes distants).
  • Une licence GroupDocs.Search valide (essai ou complète).

Configuration de GroupDocs.Search pour Java

Instructions d’installation

Maven Setup:

<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 :

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

Acquisition de licence

  • Free Trial – commencez les tests immédiatement.
  • Temporary License – obtenez un essai prolongé sur Temporary License.
  • Full Purchase – requis pour les déploiements en production.

Initialisation et configuration de base

import com.groupdocs.search.options.*;
import com.groupdocs.search.scaling.configuring.*;

public class SearchNetworkSetup {
    public static void main(String[] args) {
        // Initialize GroupDocs.Search components here
    }
}

Guide d’implémentation

Comment configurer le port de base groupdocs ?

Pour configurer le port de base, modifiez le fichier de configuration réseau ou définissez programmétiquement la propriété basePort à une valeur élevée et inutilisée telle que 49100. Pour chaque nœud suivant, augmentez le numéro de port de un (ou d’un décalage fixe) afin que chaque nœud se lie à son propre point de terminaison TCP distinct, éliminant les erreurs de collision de ports et simplifiant les règles de pare‑feu.

Configuration des chemins de base

Avant d’écrire du code, décidez d’une structure de dossiers cohérente. Par exemple, créez des répertoires séparés pour les indexeurs (Indexer0), les moteurs de recherche (Searcher0) et les extracteurs (Extractor0). Cette structure permet à chaque nœud de résoudre rapidement ses fichiers.

  • Pourquoi : Une hiérarchie de répertoires prévisible empêche les erreurs « fichier non trouvé » lorsque les nœuds démarrent sur des machines différentes.

Configuration du port de base

Choisissez un port de départ élevé pour éviter les conflits avec les services courants (HTTP 80, SSH 22, etc.). Incrémentez le numéro de port pour chaque nouveau nœud ajouté.

// If an error occurs about using a busy network port, change the value of the base port
int basePort = 49100;
  • Pourquoi : Commencer à un port élevé (par ex., 49100) réduit le risque de collision avec des services existants et simplifie la création de règles de pare‑feu.

Définir l’adresse d’hôte

Pendant le développement, localhost fonctionne bien. En production, remplacez‑le par l’adresse IP du serveur ou le nom DNS afin que les nœuds distants puissent se rejoindre.

// Define the host address
dataAddress = "127.0.0.1";
  • Pourquoi : Utiliser une vraie adresse d’hôte permet la communication entre machines, ce qui est essentiel pour les clusters cloud ou sur site.

Créer la configuration réseau

La classe NetworkConfig regroupe toutes les options réseau — port de base, hôte et paramètres SSL optionnels — dans un seul objet consommé par le moteur de recherche.

Configuration configuration = new Configurator()
    .setIndexSettings() // Begin setting index configurations
        .setUseStopWords(false) // Disable stop words in indexing
        .setUseCharacterReplacements(false) // Disable character replacements
        .setTextStorageSettings(true, Compression.High) // Enable high compression for text storage
        .setIndexType(IndexType.NormalIndex) // Set index type to NormalIndex
        .setSearchThreads(NumberOfThreads.Default) // Use default number of search threads
    .completeIndexSettings() // Complete setting index configurations
  • Pourquoi : Centraliser ces options rend la configuration réutilisable et plus facile à maintenir sur de nombreux nœuds.

Ajouter des nœuds

SearchNode représente un nœud individuel du cluster GroupDocs.Search qui exécute une fonction spécifique telle que l’indexation ou la recherche. Instanciez un SearchNode pour chaque rôle (indexeur, moteur de recherche, extracteur) et enregistrez‑le auprès du SearchEngine. Distribuer les responsabilités entre les nœuds améliore le parallélisme et la tolérance aux pannes.

// Add the first node (indexer and searcher)
    .addNode(0) // Start adding node 0
        .setTcpEndpoint(dataAddress, basePort) // Set TCP endpoint for node 0
        .addLogSink() // Add log sink to node 0
        .addIndexer("YOUR_DOCUMENT_DIRECTORY/Indexer0") // Specify index path for node 0
        .addSearcher("YOUR_DOCUMENT_DIRECTORY/Searcher0") // Specify searcher path for node 0
    .completeNode() // Complete adding node 0

// Add the second node (shard and extractor)
    .addNode(1) // Start adding node 1
        .setTcpEndpoint(dataAddress, basePort + 1) // Set TCP endpoint for node 1
        .addShard("YOUR_DOCUMENT_DIRECTORY/Shard1") // Specify shard path for node 1
        .addExtractor("YOUR_DOCUMENT_DIRECTORY/Extractor1") // Specify extractor path for node 1
    .completeNode() // Complete adding node 1
  • Pourquoi : Répartir le travail sur des nœuds dédiés réduit la contention et permet à chaque machine de se spécialiser dans une tâche unique, augmentant le débit global.

Finaliser la configuration

Après avoir ajouté tous les nœuds, appelez engine.start() pour lancer le réseau. Le moteur liera automatiquement chaque nœud à son port assigné et vérifiera la connectivité.

.completeConfiguration(); // Finalize the configuration setup
return configuration; // Return the configured network settings

Problèmes courants & solutions

  • Port Conflicts – Toujours incrémenter basePort pour chaque nouveau nœud. Vérifiez les ports ouverts avec netstat ou le moniteur réseau de votre OS.
  • Missing Directories – Assurez‑vous que chaque dossier (Indexer0, Searcher0, etc.) existe et que le processus Java dispose des permissions de lecture/écriture.
  • Network Reachability – Lors du passage à une configuration multi‑machines, remplacez 127.0.0.1 par l’adresse IP réelle de l’hôte et ouvrez les ports choisis dans les pare‑feu.

Applications pratiques

ScénarioAvantage de la configuration du port de base groupdocs
Gestion de documents d’entrepriseMise à l’échelle transparente entre les départements sans interruption
Grandes plateformes CMSRécupération de contenu plus rapide grâce à la distribution de l’index
Gestion de dossiers juridiquesL’extraction parallèle de PDF réduit la latence de recherche

Considérations de performance

  • Monitor CPU/Memory – Utilisez JMX de Java ou un outil de profilage pour surveiller l’utilisation des threads.
  • Adjust Compression – Compression.High économise de l’espace disque mais peut augmenter la charge CPU ; testez à la fois High et Normal pour trouver le meilleur compromis.
  • Regular Updates – Les nouvelles versions de GroupDocs.Search incluent souvent des correctifs de performance ; maintenez la bibliothèque à jour.

Conclusion

Vous avez maintenant appris comment configure base port groupdocs et mettre en place un réseau de recherche multi‑nœuds en utilisant GroupDocs.Search pour Java. Expérimentez avec des nœuds supplémentaires, affinez les paramètres d’indexation et intégrez le réseau à vos applications existantes pour une solution de recherche véritablement évolutive.

Questions fréquentes

Q : Quel est le but de désactiver les mots vides lors de l’indexation ?
A : Désactiver les mots vides peut améliorer la précision de la recherche en conservant des termes courants qui peuvent être cruciaux dans des domaines spécialisés.

Q : Comment gérer les conflits de ports lors de l’ajout de plusieurs nœuds ?
A : Commencez avec un basePort élevé (par ex., 49100) et incrémentez‑le pour chaque nœud suivant, en veillant à ce que chaque nœud possède un point de terminaison TCP unique.

Q : Puis‑je utiliser cette configuration pour des applications cloud ?
A : Oui — assurez‑vous simplement que les ports choisis sont ouverts dans vos groupes de sécurité cloud et remplacez 127.0.0.1 par l’IP publique ou privée appropriée.

Q : Quelle est la différence entre NormalIndex et les autres types d’index ?
A : NormalIndex offre un compromis équilibré entre vitesse et utilisation de la mémoire, tandis que les index spécialisés (par ex., FastIndex) ciblent des scénarios de performance spécifiques.

Q : Existe‑t‑il une limite au nombre de nœuds que je peux ajouter ?
A : Techniquement non ; la limite est dictée par vos ressources matérielles et la bande passante du réseau.


Dernière mise à jour : 2026-05-17
Testé avec : GroupDocs.Search Java 25.4
Auteur : GroupDocs

// Define the base paths using placeholders
dataPath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/ConfiguringSearchNetwork/";

Tutoriels associés