PDF-Text mit Java extrahieren – Index mit GroupDocs.Search erstellen

In diesem praxisorientierten Leitfaden erfahren Sie wie man PDF-Text mit Java extrahiert aus PDF‑Dateien, den extrahierten Inhalt serialisiert und einen leistungsstarken durchsuchbaren Index erstellt. Egal, ob Sie ein internes Wissensdatenbank, ein Vertrags‑Suchportal oder eine benutzerdefinierte Suchmaschine aufbauen, die nachfolgenden Schritte führen Sie durch alles – vom Auslesen von Text aus PDFs bis hin zu leistungsstarken Volltext‑Abfragen. Lassen Sie uns eintauchen und sehen, warum GroupDocs.Search den gesamten Prozess reibungslos und skalierbar macht.

Schnelle Antworten

Die Methode index.search führt eine Abfrage gegen den erstellten Index aus und gibt eine Liste der passenden Dokumente mit Relevanzwerten zurück.

  • Was ist der Hauptzweck? PDF-Text mit Java aus PDF‑Dateien zu extrahieren und einen durchsuchbaren Dokumenten‑Index mit GroupDocs.Search zu erstellen.
  • Welche Bibliotheksversion? GroupDocs.Search 25.4 (oder die neueste Version).
  • Benötige ich eine Lizenz? Eine kostenlose Testversion funktioniert für die Entwicklung; für die Produktion ist eine Voll­lizenz erforderlich.
  • Kann ich PDFs indexieren? Ja – PDF‑Text extrahieren und dem Index hinzufügen.
  • Wie führe ich eine Suche aus? Verwenden Sie die Methode index.search(query) nach dem Hinzufügen von Daten.

Was ist ein Dokumenten‑Index?

Ein Dokumenten‑Index ist eine strukturierte Sammlung durchsuchbarer Begriffe, die aus Ihren Dateien extrahiert wurden. Er ordnet jeden Begriff den Dokumenten zu, in denen er vorkommt, ermöglicht schnelle Volltext‑Suchen in großen Repositorien und reduziert die Suchzeit von Minuten auf Millisekunden, während er Ranking‑ und Relevanz‑Funktionen unterstützt.

Warum GroupDocs.Search für Java verwenden?

GroupDocs.Search unterstützt mehr als 50 Eingabe‑ und Ausgabeformate, kann Millionen von Dokumenten indexieren, ohne die gesamte Datei in den Speicher zu laden, und bietet eine umfangreiche Abfragesprache mit Booleschen, Platzhalter‑ und Nähe‑Operatoren. Diese quantifizierten Fähigkeiten machen es ideal für Suchlösungen im Unternehmensmaßstab. Außerdem bietet es integrierte Spracherkennung, Stemming und anpassbare Analyzer, um die Suchgenauigkeit für mehrsprachige Inhalte zu verbessern.

Voraussetzungen

  • GroupDocs.Search für Java (Version 25.4 oder neuer).
  • Java Development Kit (JDK), das mit Ihrer GroupDocs‑Version kompatibel ist.
  • Eine IDE wie IntelliJ IDEA oder Eclipse.
  • Maven für das Abhängigkeits‑Management.

Einrichtung von GroupDocs.Search für Java

Fügen Sie zunächst die Bibliothek zu Ihrem Projekt hinzu.

Maven‑Einrichtung
Fügen Sie das Folgende in Ihre pom.xml‑Datei ein:

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

Direkter Download
Alternativ können Sie die neueste Version von GroupDocs.Search for Java releases herunterladen.

Lizenzbeschaffung

  • Kostenlose Testversion – Testen Sie alle Funktionen mit einer temporären Lizenz.
  • Kauf – Erhalten Sie vollen Zugriff und Prioritäts‑Support.

Wie man Text aus PDFs (und anderen Dokumenten) extrahiert

Laden Sie Ihr PDF (oder ein unterstütztes Dokument) mit der Klasse Extractor, konfigurieren Sie die Extraktionsoptionen und rufen Sie extractText() auf. Dieser einzeilige Aufruf liefert den Roh‑ oder formatierten Text, der für die Indexierung bereit ist.

Die Klasse Extractor ist die Kernkomponente von GroupDocs.Search, die ein Dokument liest und reinen oder formatierten Text erzeugt.

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

Tip: Set setUseRawTextExtraction(true) if you need plain text without formatting.

Wie man extrahierte Daten serialisiert

Serialisierung wandelt das extrahierte Textobjekt in ein Byte‑Array um, sodass Sie es auf der Festplatte speichern oder über ein Netzwerk übertragen können, um es später zu indexieren.

Das Hilfsprogramm SerializationUtil stellt statische Methoden bereit, um Objekte in Byte‑Streams und zurück zu konvertieren.

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

Wie man extrahierte Daten deserialisiert

Wenn Sie bereit sind, den Index zu erstellen, deserialisieren Sie das zuvor gespeicherte Byte‑Array zurück in das ursprüngliche Extraktionsobjekt.

Die Methode deserialize stellt den genauen Zustand des Extraktionsergebnisses wieder her und gewährleistet, dass zwischen den Sitzungen keine Daten verloren gehen.

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

Wie man einen Dokumenten‑Index erstellt

Instanziieren Sie ein Index‑Objekt, geben Sie den Speicherordner an und konfigurieren Sie Indexierungsoptionen wie Term‑Vektoren und die Behandlung von Stopp‑Wörtern.

Die Klasse Index repräsentiert den durchsuchbaren Container, der alle Begriffe, Dokumentreferenzen und Metadaten enthält.

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

Wie man Daten zum Index hinzufügt und eine Suche durchführt

Fügen Sie das deserialisierte Extraktionsergebnis mit index.add() dem Index hinzu und führen Sie anschließend mit index.search() eine Abfrage für sofortige Ergebnisse durch.

Die Methode add registriert die Begriffe des Dokuments im Index, während search die Abfrage gegen diese Begriffe ausführt.

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

Pro Tipp: Verwenden Sie index.search("your query", SearchOptions), um das Relevanz‑Ranking fein abzustimmen.

Häufige Anwendungsfälle

  1. Dokumenten‑Management‑Systeme – Verträge, Rechnungen oder Richtlinien schnell finden.
  2. Inhaltsbasierte Suchmaschinen – Interne Wissensdatenbanken mit Volltext‑Suche‑Java‑Funktionen betreiben.
  3. Datenarchivierungs‑Lösungen – Historische Aufzeichnungen indexieren für sofortige Abrufe.

Leistungsüberlegungen

Die Methode setStoreTermVectors(boolean) legt fest, ob Term‑Vektoren im Index gespeichert werden, was die Indexgröße und die Abfrageleistung beeinflusst.

  • Speicherverwaltung: Erhöhen Sie die JVM‑Heap‑Größe (z. B. -Xmx4g), wenn Sie Stapel größer als 500 MB verarbeiten.
  • Indexierungsoptionen: Deaktivieren Sie Term‑Vektoren (setStoreTermVectors(false)), um die Indexgröße um bis zu 30 % zu reduzieren.
  • Regelmäßige Updates: Halten Sie GroupDocs.Search aktuell; jede Nebenveröffentlichung enthält durchschnittliche Geschwindigkeitsverbesserungen von 10‑15 %.

Häufig gestellte Fragen

Q: Wie gehe ich effizient mit sehr großen PDF‑Dateien um?
A: Streamen Sie die Datei mit Extractor und verarbeiten Sie sie in Teilen; erhöhen Sie bei Bedarf auch den JVM‑Heap.

Q: Kann ich die Syntax der Suchabfrage anpassen?
A: Ja – GroupDocs.Search unterstützt Boolesche Operatoren, Platzhalter und Nähe‑Suchen.

Q: Was soll ich tun, wenn die Serialisierung fehlschlägt?
A: Stellen Sie sicher, dass alle Objekte Serializable implementieren und fangen Sie IOException, um Details zu protokollieren.

Q: Ist es möglich, nur bestimmte Abschnitte eines Dokuments zu indexieren?
A: Absolut – konfigurieren Sie ExtractionOptions, um Seiten oder Abschnitte vor der Indexierung zu filtern.

Q: Wie aktualisiere ich auf eine neuere GroupDocs.Search‑Version?
A: Aktualisieren Sie die Versionsnummer in Ihrer pom.xml und führen Sie mvn clean install aus; prüfen Sie den Migrationsleitfaden auf breaking changes.

Ressourcen


Zuletzt aktualisiert: 2026-07-07
Getestet mit: GroupDocs.Search 25.4 für Java
Autor: GroupDocs

Verwandte Tutorials