Comment indexer des documents avec GroupDocs.Search pour Java

Dans le monde actuel axé sur les données, comment indexer des documents efficacement est une compétence cruciale pour tout développeur Java manipulant de grandes collections de fichiers. Que vous traitiez des contrats juridiques, des états financiers ou des rapports internes, un index de recherche bien construit vous permet de localiser l’information exacte en quelques secondes au lieu d’heures de scan manuel. Ce tutoriel vous guide à travers la création d’un index de recherche, l’ajout de documents et l’exécution de requêtes basées sur du texte et sur des objets avec GroupDocs.Search pour Java.

Réponses rapides

  • Quelle est la première étape pour indexer des documents ? Créez une instance Index qui pointe vers un dossier où les fichiers d’index seront stockés.
  • Quelle méthode ajoute des documents à un index ? Appelez index.add("PATH_TO_DOCUMENTS") pour analyser un répertoire et ingérer les fichiers pris en charge.
  • Puis-je rechercher des plages numériques ? Oui – utilisez une requête texte comme "400 ~~ 4000" ou une requête objet via SearchQuery.createNumericRangeQuery. La méthode createNumericRangeQuery crée un objet de requête de plage numérique.
  • Ai-je besoin d’une licence ? Un essai gratuit fonctionne pour l’évaluation ; une licence commerciale débloque l’ensemble complet des fonctionnalités et supprime les limites d’utilisation.
  • Quelle version de Java est requise ? JDK 8 ou supérieur est pris en charge.

Qu’est-ce que l’indexation de documents avec GroupDocs.Search ?

L’indexation des documents crée un magasin de jetons interrogeable pour chaque fichier, permettant au moteur de récupérer les correspondances sans lire les fichiers originaux à chaque fois. Cette étape de prétraitement transforme le contenu brut en un index optimisé qui peut être interrogé en millisecondes. L’index stocke les termes, les positions et les métadonnées, permettant des recherches rapides de phrases et de proximité sur tous les types de documents pris en charge.

Pourquoi utiliser GroupDocs.Search pour Java ?

Les opérations de recherche s’achèvent généralement en moins de 50 ms sur une collection de 10 000 fichiers (en moyenne 1 KB chacun) exécutée sur une VM standard 2‑CPU, 8 GB. La bibliothèque prend en charge plus de 30 formats d’entrée et de sortie — y compris PDF, DOCX, XLSX, PPTX, TXT et HTML — vous permettant d’indexer pratiquement tout document professionnel sans convertisseurs supplémentaires. Son API flexible vous permet de combiner des requêtes en texte brut, des plages numériques et des requêtes d’objet complexes, tandis que les mises à jour incrémentielles vous permettent d’ajouter de nouveaux fichiers sans reconstruire l’index complet.

Prérequis

  • Maven installé pour la gestion des dépendances.
  • Un IDE tel qu’IntelliJ IDEA ou Eclipse.
  • Connaissances de base en Java (concepts OOP, gestion des exceptions).

Configuration de GroupDocs.Search pour Java

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>

Téléchargement direct

Vous pouvez également télécharger le dernier JAR depuis GroupDocs.Search for Java releases.

Étapes d’acquisition de licence

  1. Essai gratuit – explorez la bibliothèque sans frais.
  2. Licence temporaire – demandez une clé à court terme pour une évaluation prolongée.
  3. Achat – obtenez une licence complète pour une utilisation en production.

Initialisation et configuration de base

Pour ajouter des documents à l’index, vous créez d’abord un objet Index qui pointe vers le dossier où les fichiers d’index seront stockés :

Index est la classe principale qui représente un index interrogeable sur le disque.

import com.groupdocs.search.Index;

// Initialize the index by specifying a directory path
Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\NumericRangeSearch");

Cette ligne crée (ou ouvre) un index prêt à recevoir des documents.

Guide d’implémentation

Création et indexation de documents

Comment ajouter des documents à l’index

La méthode add analyse un dossier et stocke les données interrogeables pour chaque fichier. Elle traite de manière récursive chaque document pris en charge, extrait le texte et les métadonnées, et écrit les jetons dans le dossier d’index que vous avez spécifié précédemment.

import com.groupdocs.search.Index;

// Initialize an index at the specified path
Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\NumericRangeSearch");

// Add documents from a directory for indexing
index.add("YOUR_DOCUMENT_DIRECTORY");
  • Paramètres : La chaîne de chemin pointe vers le dossier contenant les fichiers que vous souhaitez indexer.
  • Objectif : Après cette étape, l’index contient les jetons de tous les types de documents pris en charge, permettant des recherches rapides sur l’ensemble de la collection.

Recherche par requête texte

Comment effectuer une recherche de plage numérique basée sur du texte

Vous pouvez rechercher en utilisant une chaîne simple qui définit une plage. Le moteur interprète l’opérateur ~~ comme « entre » et renvoie tous les documents contenant des nombres dans les limites spécifiées.

import com.groupdocs.search.*;
import com.groupdocs.search.results.*;

// Define a query for numeric values within a specific range
String query1 = "400 ~~ 4000";

// Execute text-based search on indexed data
SearchResult result1 = index.search(query1);
  • Paramètres : La chaîne de requête “400 ~~ 4000” indique au moteur de trouver les nombres compris entre 400 et 4000.
  • Valeur de retour : SearchResult contient la liste des documents correspondants et met en évidence les fragments correspondants.

Recherche par requête d’objet

Comment utiliser une requête d’objet pour les plages numériques

Les requêtes basées sur des objets vous donnent un contrôle programmatique sur les critères de recherche, vous permettant de combiner plusieurs conditions ou de construire des requêtes dynamiquement à l’exécution.

import com.groupdocs.search.*;
import com.groupdocs.search.results.*;

// Create a numeric range query object
SearchQuery query2 = SearchQuery.createNumericRangeQuery(400, 4000);

// Perform search using the query object
SearchResult result2 = index.search(query2);
  • Paramètres : createNumericRangeQuery reçoit les entiers de début et de fin.
  • Objectif : Cette méthode est idéale lorsque vous devez filtrer les résultats par des champs numériques tels que les totaux de factures, les âges ou les codes produits.

Applications pratiques

Voici quelques scénarios réels où comment indexer des documents devient un facteur décisif :

  1. Gestion de documents juridiques – localisez des clauses, numéros de dossier ou dates à travers des milliers de contrats en quelques secondes.
  2. Reporting financier – extrayez les transactions qui se situent dans une plage monétaire spécifique sans analyser chaque feuille de calcul.
  3. Suivi d’inventaire – trouvez des articles par numéros de série, codes de lot ou plages de SKU à travers un système de fichiers distribué.

Intégrer GroupDocs.Search avec des bases de données, du stockage cloud ou des files d’attente de messagerie peut automatiser davantage les flux de travail de documents.

Considérations de performance

  • Mises à jour régulières de l’index : Réexécutez index.add pour les nouveaux fichiers afin de garder l’index à jour.
  • Gestion des ressources : Surveillez l’utilisation du tas ; les grands index bénéficient de paramètres de collecte des déchets JVM optimisés.
  • Optimisation des requêtes : Utilisez des requêtes d’objet pour les filtres complexes afin de réduire les analyses inutiles et d’améliorer le temps de réponse.

Problèmes courants et solutions

ProblèmePourquoi cela se produitSolution
La recherche ne renvoie aucun résultatIndex non construit ou chemin du dossier incorrectVérifiez que index.add a été exécuté sur le bon répertoire et que le dossier d’index est accessible en écriture.
OutOfMemoryError lors de l’indexationFichiers très volumineux ou tas insuffisantAugmentez la valeur JVM -Xmx ou indexez les fichiers par lots plus petits.
Format de fichier non pris en chargeType de fichier non reconnu par GroupDocs.SearchAssurez-vous que l’extension figure parmi la liste des formats pris en charge (PDF, DOCX, XLSX, PPTX, TXT, HTML, etc.).

Questions fréquemment posées

Q : Comment mettre à jour un index existant avec de nouveaux documents ?
A : Appelez à nouveau index.add("NEW_DOCUMENT_PATH") ; la bibliothèque fusionne les nouvelles entrées sans recréer l’intégralité de l’index.

Q : GroupDocs.Search peut-il gérer différents formats de fichiers ?
A : Oui, il prend en charge plus de 30 formats — y compris PDF, DOCX, XLSX, PPTX, TXT et HTML — vous permettant d’indexer pratiquement tout document professionnel.

Q : Quelles sont les exigences système pour utiliser GroupDocs.Search ?
A : Environnement d’exécution Java 8+, au moins 2 Go de RAM pour des collections modestes (les ensembles plus grands bénéficient de 4 Go+), et un accès en lecture/écriture au dossier d’index.

Q : Comment puis‑je dépanner les problèmes de performance de recherche ?
A : Gardez l’index à jour, profilez vos requêtes et examinez les paramètres de mémoire JVM. Réduire le nombre de champs indexés ou utiliser des requêtes d’objet peut également accélérer l’exécution.

Q : Existe‑t‑il une prise en charge des synonymes ou de la recherche floue ?
A : Oui, vous pouvez activer les dictionnaires de synonymes et la recherche floue via la classe SearchOptions pour élargir les correspondances sans sacrifier la pertinence. La classe SearchOptions configure le comportement de recherche avancé tel que les synonymes et la recherche floue.


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

Tutoriels associés