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
- Dokumentumkezelő rendszerek – Szerződések, számlák vagy szabályzatok gyors megtalálása.
- Tartalom‑alapú keresőmotorok – Belső tudásbázisok teljes‑szöveges keresésének támogatása Java környezetben.
- 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
- GroupDocs.Search for Java releases: GroupDocs.Search for Java releases
- Dokumentáció: GroupDocs Documentation
- API referencia: GroupDocs API Reference
- Letöltés: GroupDocs Downloads
- GitHub: GroupDocs GitHub Repository
- Ingyenes támogatás: GroupDocs Forum
- Ideiglenes licenc: Obtain a Temporary License
Utolsó frissítés: 2026-07-07
Tesztelve a következővel: GroupDocs.Search 25.4 for Java
Szerző: GroupDocs