PDF szöveg kinyerése Java‑ban – Index létrehozása a GroupDocs.Search segítségével

Ebben a gyakorlati útmutatóban megtudja, how to extract pdf text java PDF fájlokból, hogyan sorosítsa (serialize) a kinyert tartalmat, és hogyan hozzon létre egy nagy teljesítményű kereshető indexet. Akár belső tudásbázist, szerződés‑kereső portált vagy egyedi keresőmotort épít, az alábbi lépések mindent bemutatnak – a PDF‑ekből történő szöveg kinyerésétől a hatékony teljes szöveges lekérdezések futtatásáig. Merüljünk el, és nézzük meg, miért teszi a GroupDocs.Search a folyamatot zökkenőmentessé és skálázhatóvá.

Gyors válaszok

A index.search metódus lekérdezést hajt végre a létrehozott indexen, és visszaadja a megfelelő dokumentumok listáját relevancia‑pontszámokkal.

  • Mi a fő cél? PDF‑ekből how to extract pdf text java kinyerése és kereshető dokumentum index létrehozása a GroupDocs.Search segítségével.
  • Melyik könyvtár verzió? GroupDocs.Search 25.4 (vagy a legújabb kiadás).
  • Szükségem van licencre? Fejlesztéshez egy ingyenes próba licenc elegendő; a termeléshez teljes licenc szükséges.
  • Indexelhetek PDF‑eket? Igen – kinyerhető a PDF szövege, és hozzáadható az indexhez.
  • Hogyan futtassak keresést? Használja a index.search(query) metódust az adatok hozzáadása után.

Mi az a dokumentum index?

A dokumentum index egy strukturált gyűjtemény a fájljaiból kinyert kereshető kifejezésekkel. Minden kifejezést a megjelenő dokumentumokhoz rendeli, lehetővé téve a gyors teljes‑szöveges keresést nagy adattárakban, és csökkentve a keresési időt percekről ezredmásodpercekre, miközben támogatja a rangsorolást és a relevancia‑jellemzőket.

Miért használjuk a GroupDocs.Search‑t Java‑ban?

A GroupDocs.Search 50+ bemeneti és kimeneti formátumot támogat, képes milliók dokumentumának indexelésére anélkül, hogy a teljes fájlt a memóriába töltené, és egy gazdag lekérdezési nyelvet kínál Boolean, helyettesítő karakter és közelségi operátorokkal. Ezek a kvantifikált képességek ideálissá teszik vállalati szintű keresési megoldásokhoz. Emellett beépített nyelvfelismerést, szótövezést és testreszabható elemzőket biztosít a többnyelvű tartalom keresési pontosságának javításához.

Előfeltételek

  • GroupDocs.Search for Java (25.4 vagy újabb verzió).
  • Java Development Kit (JDK), amely kompatibilis a GroupDocs verziójával.
  • IntelliJ IDEA vagy Eclipse fejlesztőkörnyezet.
  • Maven a függőségek kezeléséhez.

A GroupDocs.Search beállítása Java‑hoz

Először adja hozzá a könyvtárat a projektjéhez.

Maven beállítás
Adja hozzá a következőket a pom.xml fájlhoz:

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

Közvetlen letöltés
Alternatívaként töltse le a legújabb verziót a GroupDocs.Search for Java releases oldalról.

Licenc beszerzése

  • Ingyenes próba – Minden funkció tesztelhető ideiglenes licenccel.
  • Vásárlás – Teljes hozzáférés és prioritásos támogatás.

Hogyan nyerjünk ki szöveget PDF‑ekből (és egyéb dokumentumokból)

Töltse be a PDF‑et (vagy támogatott dokumentumot) az Extractor osztállyal, állítsa be a kinyerési opciókat, és hívja meg az extractText() metódust. Ez az egy‑soros hívás visszaadja a nyers vagy formázott szöveget, amely készen áll az indexelésre.

Az Extractor osztály a GroupDocs.Search központi komponense, amely beolvassa a dokumentumot, és egyszerű vagy formázott szöveget állít elő.

// ```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: Állítsa be a setUseRawTextExtraction(true) értéket, ha formázás nélküli egyszerű szöveget igényel.

Hogyan sorosítsuk (serializáljuk) a kinyert adatokat

A sorosítás a kinyert szövegobjektumot bájt tömbbé alakítja, lehetővé téve, hogy lemezre mentse vagy hálózaton keresztül továbbítsa későbbi indexeléshez.

A SerializationUtil segédprogram statikus metódusokat biztosít az objektumok bájt‑folyamokká alakításához és vissza.

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

Hogyan deszerializáljuk a kinyert adatokat

Amikor készen áll az index felépítésére, deszerializálja a korábban tárolt bájt tömböt az eredeti kinyerési objektumba.

A deserialize metódus visszaállítja a kinyerési eredmény pontos állapotát, biztosítva, hogy ne legyen adatveszteség a munkamenetek között.

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

Hogyan hozzunk létre dokumentum indexet

Hozzon létre egy Index objektumot, adja meg a tároló mappát, és állítsa be az indexelési opciókat, például a kifejezésvektorok és a stop‑szavak kezelését.

Az Index osztály a kereshető tárolót képviseli, amely minden kifejezést, dokumentumhivatkozást és metaadatot tartalmaz.

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

Hogyan adjunk adatot az indexhez és hajtsunk végre keresést

Adja hozzá a deszerializált kinyerési eredményt az indexhez az index.add() metódussal, majd kérdezze le az index.search() segítségével az azonnali eredményekért.

Az add metódus regisztrálja a dokumentum kifejezéseit az indexben, míg a search végrehajtja a lekérdezést ezekre a kifejezésekre.

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

Pro tip: Használja a index.search("your query", SearchOptions) metódust a relevancia‑rangsor finomhangolásához.

Gyakori felhasználási esetek

  1. Dokumentumkezelő rendszerek – Szerződések, számlák vagy szabályzatok gyors megtalálása.
  2. Tartalom‑alapú keresőmotorok – Belső tudásbázisok teljes‑szöveges keresésének támogatása Java környezetben.
  3. Adatarchiválási megoldások – Történelmi rekordok indexelése az azonnali visszakereséshez.

Teljesítmény szempontok

A setStoreTermVectors(boolean) metódus beállítja, hogy a kifejezésvektorok tárolásra kerülnek‑e az indexben, ami befolyásolja az index méretét és a lekérdezési teljesítményt.

  • Memóriakezelés: Növelje a JVM heap méretét (pl. -Xmx4g) nagyobb, 500 MB‑nál nagyobb kötegek feldolgozásához.
  • Indexelési opciók: Kapcsolja ki a kifejezésvektorokat (setStoreTermVectors(false)) az index méretének akár 30 %-os csökkentéséhez.
  • Rendszeres frissítések: Tartsa naprakészen a GroupDocs.Search‑t; minden kisebb kiadás átlagosan 10‑15 % gyorsulást hoz.

Gyakran Ismételt Kérdések

Q: Hogyan kezeljem hatékonyan a nagyon nagy PDF fájlokat?
A: Streamelje a fájlt az Extractor segítségével, és dolgozza fel darabokban; szükség esetén növelje a JVM heap méretét.

Q: Testreszabhatom a keresési lekérdezés szintaxisát?
A: Igen – a GroupDocs.Search támogatja a Boolean operátorokat, helyettesítő karaktereket és a közelségi kereséseket.

Q: Mit tegyek, ha a sorosítás sikertelen?
A: Ellenőrizze, hogy minden objektum implementálja a Serializable interfészt, és kezelje az IOException‑t a részletek naplózásához.

Q: Lehetséges csak a dokumentum bizonyos szakaszait indexelni?
A: Teljesen – állítsa be az ExtractionOptions‑t, hogy szűrje a lapokat vagy szakaszokat a indexelés előtt.

Q: Hogyan frissíthetem a GroupDocs.Search újabb verziójára?
A: Módosítsa a verziószámot a pom.xml‑ben, majd futtassa a mvn clean install parancsot; tekintse át a migrációs útmutatót a töréspontokért.

Források


Utolsó frissítés: 2026-07-07
Tesztelve a következővel: GroupDocs.Search 25.4 for Java
Szerző: GroupDocs

Kapcsolódó oktatóanyagok