Extraire du texte d’un PDF Java : créer un index de documents avec GroupDocs.Search

Dans ce guide pratique, vous découvrirez comment extraire du texte d’un PDF Java dans les applications et transformer ce contenu brut en un index rapide et plein texte consultable. Que vous construisiez une base de connaissances interne, un portail de recherche de contrats, ou un moteur de recherche personnalisé, les étapes ci‑dessous vous guideront à travers tout le processus — de l’extraction du texte des PDF à la sérialisation des données, la création de l’index, et enfin l’exécution des requêtes. Plongeons‑y et voyons pourquoi GroupDocs.Search rend l’ensemble du processus fluide et évolutif.

Réponses rapides

  • Quel est le but principal ? Extraire du texte des fichiers PDF Java et créer un index de documents consultable avec GroupDocs.Search.
  • 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 — extraire le texte du PDF et l’ajouter à 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 recherchables extraits de vos fichiers. En créant un index de documents, vous permettez des recherches plein texte rapides à travers de grands dépôts, 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 plein texte complexes.

Prérequis

  • GroupDocs.Search pour 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.

Acquisition 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)

L’extraction de texte brut ou formaté est la première étape pour créer un index de documents. Lorsque vous extrayez du texte d’un PDF Java, vous fournissez au moteur de recherche quelque chose qu’il peut comprendre.

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 à créer 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 recherchables.

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 extraire du texte d’un PDF Java.

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

Conseil 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 plein texte 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 bénéficier 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 le 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 jokers 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 majeurs.

Ressources


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