PDF-tekst extraheren met Java – Index bouwen met GroupDocs.Search
In deze praktische gids ontdek je hoe je pdf-tekst java uit PDF‑bestanden haalt, de geëxtraheerde inhoud serialiseert en een hoog‑presterende doorzoekbare index maakt. Of je nu een interne kennisbank, een contract‑zoekportaal of een aangepaste zoekmachine bouwt, de onderstaande stappen leiden je door alles—van het halen van tekst uit PDF’s tot het uitvoeren van krachtige full‑text queries. Laten we duiken en zien waarom GroupDocs.Search het hele proces soepel en schaalbaar maakt.
Snelle antwoorden
De index.search‑methode voert een query uit op de gemaakte index en retourneert een lijst met overeenkomende documenten met relevantiescores.
- Wat is het belangrijkste doel? PDF-tekst extraheren met Java uit PDF‑bestanden en een doorzoekbare documentindex maken met GroupDocs.Search.
- Welke bibliotheekversie? GroupDocs.Search 25.4 (of de nieuwste release).
- Heb ik een licentie nodig? Een gratis proefversie werkt voor ontwikkeling; een volledige licentie is vereist voor productie.
- Kan ik PDF’s indexeren? Ja—extrait PDF‑tekst en voeg deze toe aan de index.
- Hoe voer ik een zoekopdracht uit? Gebruik de
index.search(query)‑methode na het toevoegen van gegevens.
Wat is een documentindex?
Een documentindex is een gestructureerde verzameling doorzoekbare termen die uit uw bestanden zijn geëxtraheerd. Het koppelt elke term aan de documenten waarin deze voorkomt, waardoor snelle full‑text zoekopdrachten over grote repositories mogelijk zijn en de zoektijd wordt verkort van minuten naar milliseconden, terwijl rangschikking en relevantiefuncties worden ondersteund.
Waarom GroupDocs.Search voor Java gebruiken?
GroupDocs.Search ondersteunt meer dan 50 invoer‑ en uitvoerformaten, kan miljoenen documenten indexeren zonder het volledige bestand in het geheugen te laden, en biedt een rijke querytaal met Boolean‑, wildcard‑ en nabijheidsoperatoren. Deze gekwantificeerde mogelijkheden maken het ideaal voor zoekoplossingen op ondernemingsniveau. Het biedt bovendien ingebouwde taalherkenning, stemming en aanpasbare analyzers om de zoeknauwkeurigheid voor meertalige inhoud te verbeteren.
Vereisten
- GroupDocs.Search voor Java (Versie 25.4 of nieuwer).
- Java Development Kit (JDK) compatibel met uw GroupDocs‑versie.
- Een IDE zoals IntelliJ IDEA of Eclipse.
- Maven voor afhankelijkheidsbeheer.
GroupDocs.Search voor Java instellen
Voeg eerst de bibliotheek toe aan uw project.
Maven‑configuratie
Voeg het volgende toe aan uw pom.xml‑bestand:
<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>
Directe download
U kunt ook de nieuwste versie downloaden van GroupDocs.Search for Java releases.
Licentie‑acquisitie
- Gratis proefversie – Test alle functies met een tijdelijke licentie.
- Aankoop – Krijg volledige toegang en prioriteitsondersteuning.
Hoe tekst uit PDF’s (en andere documenten) extraheren
Laad uw PDF (of ondersteund document) met de Extractor‑klasse, configureer de extractie‑opties en roep extractText() aan. Deze één‑regelige oproep retourneert de ruwe of geformatteerde tekst die klaar is voor indexering.
De Extractor‑klasse is de kerncomponent van GroupDocs.Search die een document leest en platte of geformatteerde tekst produceert.
// ```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: Stel
setUseRawTextExtraction(true)in als je platte tekst zonder opmaak nodig hebt.
Hoe geëxtraheerde gegevens serialiseren
Serialisatie zet het geëxtraheerde tekstobject om in een byte‑array, zodat u het op schijf kunt opslaan of via een netwerk kunt verzenden voor latere indexering.
De SerializationUtil‑utility biedt statische methoden om objecten om te zetten in byte‑streams en terug.
// ```java
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
extractedData.serialize(outputStream);
byte[] serializedArray = outputStream.toByteArray();
Hoe geëxtraheerde gegevens deserialiseren
Wanneer u klaar bent om de index te bouwen, deserialiseert u de eerder opgeslagen byte‑array terug naar het oorspronkelijke extractie‑object.
De deserialize‑methode herstelt de exacte staat van het extractieresultaat, waardoor er geen gegevensverlies tussen sessies optreedt.
// ```java
ByteArrayInputStream inputStream = new ByteArrayInputStream(serializedArray);
ExtractedData deserializedData = ExtractedData.deserialize(inputStream);
Hoe een documentindex maken
Instantieer een Index‑object, specificeer de opslagmap en configureer indexeeropties zoals term‑vectoren en stop‑woordverwerking.
De Index‑klasse vertegenwoordigt de doorzoekbare container die alle termen, documentreferenties en metadata bevat.
// ```java
String indexFolder = "YOUR_OUTPUT_DIRECTORY/AdvancedUsage/Indexing/SeparateDataExtraction";
com.groupdocs.search.Index index = new com.groupdocs.search.Index(indexFolder);
Hoe gegevens aan de index toevoegen en een zoekopdracht uitvoeren
Voeg het gedeserialiseerde extractieresultaat toe aan de index met index.add(), en voer vervolgens een query uit met index.search() voor directe resultaten.
De add‑methode registreert de termen van het document in de index, terwijl search de query uitvoert tegen die termen.
// ```java
ExtractedData[] dataToIndex = new ExtractedData[] { deserializedData };
index.add(dataToIndex, new IndexingOptions());
// ```java
String query = "ipsum";
SearchResult result = index.search(query);
Pro‑tip: Gebruik
index.search("your query", SearchOptions)om de relevantierangschikking fijn af te stemmen.
Veelvoorkomende toepassingsgevallen
- Documentbeheersystemen – Snel contracten, facturen of beleidsdocumenten vinden.
- Content‑gebaseerde zoekmachines – Voorzie interne kennisbanken van full‑text zoekfunctionaliteit in Java.
- Data‑archiveringsoplossingen – Indexeer historische records voor directe ophalen.
Prestatie‑overwegingen
De setStoreTermVectors(boolean)‑methode bepaalt of term‑vectoren in de index worden opgeslagen, wat invloed heeft op de indexgrootte en de query‑prestaties.
- Geheugenbeheer: Verhoog de JVM‑heap‑grootte (bijv.
-Xmx4g) bij het verwerken van batches groter dan 500 MB. - Indexeeropties: Schakel term‑vectoren uit (
setStoreTermVectors(false)) om de indexgrootte met tot 30 % te verkleinen. - Regelmatige updates: Houd GroupDocs.Search up‑to‑date; elke kleine release bevat gemiddelde snelheidsverbeteringen van 10‑15 %.
Veelgestelde vragen
V: Hoe ga ik efficiënt om met zeer grote PDF‑bestanden?
A: Stream het bestand met Extractor en verwerk het in delen; verhoog ook de JVM‑heap indien nodig.
V: Kan ik de zoekquery‑syntaxis aanpassen?
A: Ja—GroupDocs.Search ondersteunt Boolean‑operatoren, wildcards en nabijheidszoekopdrachten.
V: Wat moet ik doen als serialisatie mislukt?
A: Controleer of alle objecten Serializable implementeren en vang IOException om details te loggen.
V: Is het mogelijk om alleen specifieke secties van een document te indexeren?
A: Absoluut—configureer ExtractionOptions om pagina’s of secties te filteren vóór het indexeren.
V: Hoe upgrade ik naar een nieuwere GroupDocs.Search‑versie?
A: Werk het versienummer bij in uw pom.xml en voer mvn clean install uit; bekijk de migratie‑gids voor breaking changes.
Bronnen
- GroupDocs.Search voor Java releases: GroupDocs.Search for Java releases
- Documentatie: GroupDocs Documentation
- API‑referentie: GroupDocs API Reference
- Download: GroupDocs Downloads
- GitHub: GroupDocs GitHub Repository
- Gratis ondersteuning: GroupDocs Forum
- Tijdelijke licentie: Obtain a Temporary License
Laatst bijgewerkt: 2026-07-07
Getest met: GroupDocs.Search 25.4 for Java
Auteur: GroupDocs