Extrahovat text PDF Java – Vytvořit index pomocí GroupDocs.Search

V tomto praktickém průvodci objevíte jak extrahovat text PDF v Javě z PDF souborů, serializovat extrahovaný obsah a vytvořit vysoce výkonný prohledávatelný index. Ať už budujete interní znalostní bázi, portál pro vyhledávání smluv nebo vlastní vyhledávač, níže uvedené kroky vás provedou vším – od získání textu z PDF až po spouštění výkonných full‑textových dotazů. Ponořme se a podívejme se, proč GroupDocs.Search dělá celý proces plynulým a škálovatelným.

Rychlé odpovědi

Metoda index.search spustí dotaz proti vytvořenému indexu a vrátí seznam odpovídajících dokumentů s relevančními skóre.

  • Jaký je hlavní účel? Extrahovat text PDF v Javě z PDF souborů a vytvořit prohledávatelný dokumentový index pomocí GroupDocs.Search.
  • Která verze knihovny? GroupDocs.Search 25.4 (nebo nejnovější vydání).
  • Potřebuji licenci? Bezplatná zkušební verze funguje pro vývoj; plná licence je vyžadována pro produkci.
  • Mohu indexovat PDF? Ano—extrahujte text PDF a přidejte jej do indexu.
  • Jak spustím vyhledávání? Použijte metodu index.search(query) po přidání dat.

Co je dokumentový index?

Dokumentový index je strukturovaná kolekce prohledávatelných termínů extrahovaných z vašich souborů. Mapuje každý termín na dokumenty, ve kterých se vyskytuje, což umožňuje rychlé full‑textové vyhledávání v rozsáhlých úložištích a snižuje dobu vyhledávání z minut na milisekundy, přičemž podporuje řazení a relevanční funkce.

Proč použít GroupDocs.Search pro Javu?

GroupDocs.Search podporuje 50+ vstupních a výstupních formátů, může indexovat miliony dokumentů bez načítání celého souboru do paměti a nabízí bohatý dotazovací jazyk s boolean, wildcard a proximity operátory. Tyto kvantifikované schopnosti jej činí ideálním pro enterprise‑scale vyhledávací řešení. Také poskytuje vestavěnou detekci jazyka, stemming a přizpůsobitelné analyzátory pro zlepšení přesnosti vyhledávání v multijazyčném obsahu.

Požadavky

  • GroupDocs.Search for Java (verze 25.4 nebo novější).
  • Java Development Kit (JDK) kompatibilní s vaší verzí GroupDocs.
  • IDE, např. IntelliJ IDEA nebo Eclipse.
  • Maven pro správu závislostí.

Nastavení GroupDocs.Search pro Javu

Nejprve přidejte knihovnu do svého projektu.

Nastavení Maven
Do souboru pom.xml zahrňte následující:

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

Přímé stažení
Alternativně stáhněte nejnovější verzi z GroupDocs.Search for Java releases.

Získání licence

  • Free Trial – Otestujte všechny funkce s dočasnou licencí.
  • Purchase – Získejte plný přístup a prioritu v podpoře.

Jak extrahovat text z PDF (a dalších dokumentů)

Načtěte svůj PDF (nebo podporovaný dokument) pomocí třídy Extractor, nakonfigurujte možnosti extrakce a zavolejte extractText(). Tento jednorázový volání vrátí surový nebo formátovaný text připravený k indexaci.

Třída Extractor je jádrovou součástí GroupDocs.Search, která čte dokument a vytváří prostý nebo formátovaný text.

// ```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: Nastavte setUseRawTextExtraction(true), pokud potřebujete prostý text bez formátování.

Jak serializovat extrahovaná data

Serializace převádí objekt s extrahovaným textem na pole bajtů, což vám umožní uložit jej na disk nebo přenést přes síť pro pozdější indexaci.

Utility SerializationUtil poskytuje statické metody pro převod objektů na bytové proudy a zpět.

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

Jak deserializovat extrahovaná data

Když jste připraveni vytvořit index, deserializujte dříve uložené pole bajtů zpět do původního objektu extrakce.

Metoda deserialize obnoví přesný stav výsledku extrakce, čímž zajistí, že nedojde ke ztrátě dat mezi relacemi.

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

Jak vytvořit dokumentový index

Vytvořte instanci objektu Index, určete složku úložiště a nakonfigurujte možnosti indexování, jako jsou term‑vektory a zpracování stop‑slov.

Třída Index představuje prohledávatelný kontejner, který obsahuje všechny termíny, odkazy na dokumenty a metadata.

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

Jak přidat data do indexu a provést vyhledávání

Přidejte deserializovaný výsledek extrakce do indexu pomocí index.add(), poté dotazujte pomocí index.search() pro okamžité výsledky.

Metoda add zaregistruje termíny dokumentu v indexu, zatímco search provádí dotaz nad těmito termíny.

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

Tip: Použijte index.search("your query", SearchOptions) k jemnému ladění relevance.

Běžné případy použití

  1. Document Management Systems – Rychle najděte smlouvy, faktury nebo politiky.
  2. Content‑Based Search Engines – Pohánějte interní znalostní báze s možnostmi full‑textového vyhledávání v Javě.
  3. Data Archiving Solutions – Indexujte historické záznamy pro okamžité získání.

Úvahy o výkonu

Metoda setStoreTermVectors(boolean) konfiguruje, zda jsou v indexu uloženy term‑vektory, což ovlivňuje velikost indexu a výkon dotazů.

  • Memory Management: Zvyšte velikost haldy JVM (např. -Xmx4g) při zpracování batchů větších než 500 MB.
  • Indexing Options: Vypněte term‑vektory (setStoreTermVectors(false)) a snížíte velikost indexu až o 30 %.
  • Regular Updates: Udržujte GroupDocs.Search aktuální; každé menší vydání přináší průměrné zrychlení o 10‑15 %.

Často kladené otázky

Q: How do I handle very large PDF files efficiently?
A: Streamujte soubor pomocí Extractor a zpracovávejte jej po částech; také zvyšte haldu JVM, pokud je to potřeba.

Q: Can I customize the search query syntax?
A: Ano—GroupDocs.Search podporuje boolean operátory, wildcard a proximity vyhledávání.

Q: What should I do if serialization fails?
A: Ověřte, že všechny objekty implementují Serializable, a zachyťte IOException pro zaznamenání podrobností.

Q: Is it possible to index only specific sections of a document?
A: Rozhodně—nakonfigurujte ExtractionOptions tak, aby filtrovaly stránky nebo sekce před indexací.

Q: How do I upgrade to a newer GroupDocs.Search version?
A: Aktualizujte číslo verze ve vašem pom.xml a spusťte mvn clean install; prostudujte migrační průvodce pro případné breaking changes.

Zdroje


Last Updated: 2026-07-07
Tested With: GroupDocs.Search 25.4 for Java
Author: GroupDocs

Související tutoriály