Créer un index de documents avec GroupDocs.Search pour Java : Guide complet

À l’ère numérique actuelle, pouvoir créer un index de documents rapidement et le rechercher efficacement est un facteur décisif pour toute organisation. Que vous construisiez un système de gestion de documents ou un moteur de recherche personnalisé, GroupDocs.Search pour Java vous fournit les outils pour extraire du texte, sérialiser des données et effectuer des opérations de recherche en texte intégral Java avec facilité. Ce tutoriel vous guide à travers chaque étape — de l’extraction du texte PDF à l’ajout de données à l’index et à la recherche de documents indexés.

Réponses rapides

  • Quel est le but principal ? Créer un index de documents interrogeable en utilisant GroupDocs.Search pour Java.
  • Quelle version de la bibliothèque ? GroupDocs.Search 25.4 (ou la dernière version).
  • Ai-je besoin d’une licence ? Un essai gratuit suffit pour le développement ; une licence complète est requise pour la production.
  • Puis-je indexer des PDF ? Oui — extrayez le texte du PDF et ajoutez-le à l’index.
  • Comment exécuter une recherche ? Utilisez la méthode index.search(query) après avoir ajouté les données.

Qu’est-ce qu’un index de documents ?

Un index de documents est une collection structurée de termes interrogeables extraits de vos fichiers. En créant un index de documents, vous permettez des recherches en texte intégral rapides à travers de grands référentiels, améliorant considérablement la vitesse et la précision de la récupération.

Pourquoi utiliser GroupDocs.Search pour Java ?

  • Extraction robuste – Gère les PDF, Word, Excel, et plus encore.
  • Sérialisation facile – Stocke les données extraites sous forme de tableaux d’octets pour une réutilisation ultérieure.
  • Indexation évolutive – Indexe efficacement des millions de documents.
  • Langage de requête puissant – Prend en charge des requêtes Java de recherche en texte intégral complexes.

Prérequis

  • GroupDocs.Search for Java (Version 25.4 ou plus récente).
  • Java Development Kit (JDK) compatible avec votre version de GroupDocs.
  • Un IDE tel qu’IntelliJ IDEA ou Eclipse.
  • Maven pour la gestion des dépendances.

Configuration de GroupDocs.Search pour Java

Tout d’abord, ajoutez la bibliothèque à votre projet.

Configuration Maven
Incluez ce qui suit dans votre fichier 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
Sinon, téléchargez la dernière version depuis GroupDocs.Search for Java releases.

Obtention de licence

  • Essai gratuit – Testez toutes les fonctionnalités avec une licence temporaire.
  • Achat – Obtenez un accès complet et un support prioritaire.

Implémentation étape par étape

Comment extraire du texte des PDF (et d’autres documents)

Extraire du texte brut ou formaté est la première étape pour créer un index de documents.

String documentPath = "YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.pdf";
Extractor extractor = new Extractor();
Document document = Document.createFromFile(documentPath);
ExtractionOptions extractionOptions = new ExtractionOptions();
extractionOptions.setUseRawTextExtraction(false); // Extract with formatting
ExtractedData extractedData = extractor.extract(document, extractionOptions);

Astuce : Définissez setUseRawTextExtraction(true) si vous avez besoin de texte brut sans mise en forme.

Comment sérialiser les données extraites

La sérialisation vous permet de stocker les données extraites pour une indexation ultérieure.

ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
extractedData.serialize(outputStream);
byte[] serializedArray = outputStream.toByteArray();

Comment désérialiser les données extraites

Lorsque vous êtes prêt à construire l’index, convertissez le tableau d’octets en un objet.

ByteArrayInputStream inputStream = new ByteArrayInputStream(serializedArray);
ExtractedData deserializedData = ExtractedData.deserialize(inputStream);

Comment créer un index de documents

Maintenant que vous avez deserializedData, vous pouvez créer l’index qui contiendra les termes interrogeables.

String indexFolder = "YOUR_OUTPUT_DIRECTORY/AdvancedUsage/Indexing/SeparateDataExtraction";
com.groupdocs.search.Index index = new com.groupdocs.search.Index(indexFolder);

Comment ajouter des données à l’index et effectuer une recherche

L’ajout de données et l’interrogation de l’index complètent le flux de travail create document index.

ExtractedData[] dataToIndex = new ExtractedData[] { deserializedData };
index.add(dataToIndex, new IndexingOptions());
String query = "ipsum";
SearchResult result = index.search(query);

Astuce pro : Utilisez index.search("your query", SearchOptions) pour affiner le classement de pertinence.

Cas d’utilisation courants

  1. Systèmes de gestion de documents – Localisez rapidement les contrats, factures ou politiques.
  2. Moteurs de recherche basés sur le contenu – Alimentez les bases de connaissances internes avec les capacités de recherche en texte intégral Java.
  3. Solutions d’archivage de données – Indexez les enregistrements historiques pour une récupération instantanée.

Considérations de performance

  • Gestion de la mémoire : Ajustez la taille du tas JVM pour les gros lots de documents.
  • Options d’indexation : Désactivez les fonctionnalités inutiles (par ex., les vecteurs de termes) pour accélérer l’indexation.
  • Mises à jour régulières : Maintenez GroupDocs.Search à jour pour profiter des correctifs de performance.

Questions fréquemment posées

Q : Comment gérer efficacement des fichiers PDF très volumineux ?
R : Diffusez le fichier en utilisant Extractor et traitez-le par morceaux ; augmentez également la taille du tas JVM si nécessaire.

Q : Puis-je personnaliser la syntaxe des requêtes de recherche ?
R : Oui — GroupDocs.Search prend en charge les opérateurs booléens, les caractères génériques et les recherches de proximité.

Q : Que faire si la sérialisation échoue ?
R : Vérifiez que tous les objets implémentent Serializable et capturez IOException pour enregistrer les détails.

Q : Est-il possible d’indexer uniquement des sections spécifiques d’un document ?
R : Absolument — configurez ExtractionOptions pour filtrer les pages ou sections avant l’indexation.

Q : Comment mettre à jour vers une version plus récente de GroupDocs.Search ?
R : Mettez à jour le numéro de version dans votre pom.xml et exécutez mvn clean install ; consultez le guide de migration pour les changements incompatibles.

Ressources


Dernière mise à jour : 2025-12-18
Testé avec : GroupDocs.Search 25.4 for Java
Auteur : GroupDocs