Extrahera text från PDF Java: Bygg dokumentindex med GroupDocs.Search

I den här praktiska guiden kommer du att upptäcka hur man extraherar text från PDF Java-applikationer och omvandlar det råa innehållet till ett snabbt, fulltextssökbart index. Oavsett om du bygger en intern kunskapsbas, en portal för kontraktsökning eller en anpassad sökmotor, går stegen nedan igenom allt—från att hämta text från PDF-filer till att serialisera data, skapa indexet och slutligen köra frågor. Låt oss dyka ner och se varför GroupDocs.Search gör hela processen smidig och skalbar.

Quick Answers

  • Vad är huvudsyftet? Att extrahera text från PDF Java-filer och skapa ett sökbart dokumentindex med GroupDocs.Search.
  • Vilken biblioteksversion? GroupDocs.Search 25.4 (eller den senaste releasen).
  • Behöver jag en licens? En gratis provperiod fungerar för utveckling; en full licens krävs för produktion.
  • Kan jag indexera PDF-filer? Ja—extrahera PDF-text och lägg till den i indexet.
  • Hur kör jag en sökning? Använd index.search(query)-metoden efter att ha lagt till data.

What is a Document Index?

Ett dokumentindex är en strukturerad samling av sökbara termer som extraheras från dina filer. Genom att skapa ett dokumentindex möjliggör du snabba fulltextssökningar över stora arkiv, vilket dramatiskt förbättrar återhämtningshastigheten och noggrannheten.

Why Use GroupDocs.Search for Java?

  • Robust extraktion – Hanterar PDF, Word, Excel och mer.
  • Enkel serialisering – Lagra extraherad data som byte-arrayer för senare återanvändning.
  • Skalbar indexering – Indexera effektivt miljontals dokument.
  • Kraftfullt frågespråk – Stöder komplexa fulltextssökningar i Java.

Prerequisites

  • GroupDocs.Search för Java (Version 25.4 eller nyare).
  • Java Development Kit (JDK) kompatibel med din GroupDocs-version.
  • En IDE som IntelliJ IDEA eller Eclipse.
  • Maven för beroendehantering.

Setting Up GroupDocs.Search for Java

Först, lägg till biblioteket i ditt projekt.

Maven Setup
Include the following in your pom.xml file:

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

Direct Download
Alternativt, ladda ner den senaste versionen från GroupDocs.Search for Java releases.

License Acquisition

  • Gratis provperiod – Testa alla funktioner med en tillfällig licens.
  • Köp – Få full åtkomst och prioriterad support.

Step‑by‑Step Implementation

How to extract text from PDFs (and other documents)

Att extrahera rå eller formaterad text är det första steget mot att skapa ett dokumentindex. När du extraherar text från PDF Java ger du sökmotorn något den kan förstå.

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

Tips: Sätt setUseRawTextExtraction(true) om du behöver ren text utan formatering.

How to serialize extracted data

Serialisering låter dig lagra den extraherade datan för senare indexering.

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

How to deserialize extracted data

När du är redo att bygga indexet, konvertera byte-arrayen tillbaka till ett objekt.

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

How to create document index

Nu när du har deserializedData kan du skapa indexet som kommer att hålla de sökbara termerna.

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

Att lägga till data och fråga indexet slutför extrahera text från PDF Java-arbetsflödet.

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

Proffstips: Använd index.search("your query", SearchOptions) för att finjustera relevansrankingen.

Common Use Cases

  1. Dokumenthanteringssystem – Hitta snabbt kontrakt, fakturor eller policys.
  2. Innehållsbaserade sökmotorer – Driv interna kunskapsbaser med fulltextssökning i Java.
  3. Dataarkiveringslösningar – Indexera historiska poster för omedelbar återhämtning.

Performance Considerations

  • Minneshantering: Justera JVM-heap-storlek för stora dokumentbatcher.
  • Indexeringsalternativ: Inaktivera onödiga funktioner (t.ex. termvektorer) för att snabba upp indexeringen.
  • Regelbundna uppdateringar: Håll GroupDocs.Search uppdaterad för att dra nytta av prestandaförbättringar.

Frequently Asked Questions

Q: Hur hanterar jag mycket stora PDF-filer effektivt?
A: Strömma filen med Extractor och bearbeta den i delar; öka även JVM-heapen om det behövs.

Q: Kan jag anpassa sökfrågesyntaxen?
A: Ja—GroupDocs.Search stöder Boolean-operatorer, jokertecken och närhetsökningar.

Q: Vad ska jag göra om serialisering misslyckas?
A: Verifiera att alla objekt implementerar Serializable och fånga IOException för att logga detaljer.

Q: Är det möjligt att indexera endast specifika sektioner av ett dokument?
A: Absolut—konfigurera ExtractionOptions för att filtrera sidor eller sektioner innan indexering.

Q: Hur uppgraderar jag till en nyare GroupDocs.Search-version?
A: Uppdatera versionsnumret i din pom.xml och kör mvn clean install; granska migrationsguiden för brytande förändringar.

Resources


Senast uppdaterad: 2026-02-19
Testad med: GroupDocs.Search 25.4 for Java
Författare: GroupDocs