Wyodrębnianie tekstu z PDF w Javie: Tworzenie indeksu dokumentów z GroupDocs.Search
W tym praktycznym przewodniku odkryjesz jak wyodrębnić tekst z PDF w Javie aplikacji i przekształcić tę surową treść w szybki, pełnotekstowy indeks możliwy do przeszukiwania. Niezależnie od tego, czy budujesz wewnętrzną bazę wiedzy, portal do wyszukiwania umów, czy własną wyszukiwarkę, poniższe kroki przeprowadzą Cię przez wszystko — od wyciągania tekstu z PDF‑ów, przez serializację danych, tworzenie indeksu, aż po wykonywanie zapytań. Zanurzmy się i zobaczmy, dlaczego GroupDocs.Search sprawia, że cały proces jest płynny i skalowalny.
Szybkie odpowiedzi
- Jaki jest główny cel? Wyodrębnić tekst z plików PDF w Javie i stworzyć przeszukiwalny indeks dokumentów przy użyciu GroupDocs.Search.
- Która wersja biblioteki? GroupDocs.Search 25.4 (lub najnowsze wydanie).
- Czy potrzebna jest licencja? Darmowa wersja próbna działa w środowisku deweloperskim; pełna licencja jest wymagana w produkcji.
- Czy mogę indeksować PDF‑y? Tak — wyodrębnić tekst z PDF i dodać go do indeksu.
- Jak uruchomić wyszukiwanie? Użyj metody
index.search(query)po dodaniu danych.
Co to jest indeks dokumentów?
Indeks dokumentów to ustrukturyzowana kolekcja wyszukiwalnych terminów wyodrębnionych z Twoich plików. Tworząc indeks dokumentów, umożliwiasz szybkie pełnotekstowe wyszukiwanie w dużych repozytoriach, co znacząco zwiększa prędkość i dokładność odzyskiwania informacji.
Dlaczego używać GroupDocs.Search dla Javy?
- Solidne wyodrębnianie – Obsługuje PDF, Word, Excel i inne.
- Łatwa serializacja – Przechowuj wyodrębnione dane jako tablice bajtów do późniejszego użycia.
- Skalowalne indeksowanie – Efektywnie indeksuj miliony dokumentów.
- Potężny język zapytań – Obsługuje złożone pełnotekstowe zapytania Java.
Wymagania wstępne
- GroupDocs.Search for Java (Wersja 25.4 lub nowsza).
- Java Development Kit (JDK) kompatybilny z Twoją wersją GroupDocs.
- IDE, takie jak IntelliJ IDEA lub Eclipse.
- Maven do zarządzania zależnościami.
Konfiguracja GroupDocs.Search dla Javy
Najpierw dodaj bibliotekę do swojego projektu.
Konfiguracja Maven
Umieść następujące w pliku pom.xml:
<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>
Bezpośrednie pobranie
Alternatywnie, pobierz najnowszą wersję z GroupDocs.Search for Java releases.
Uzyskanie licencji
- Darmowa wersja próbna – Przetestuj wszystkie funkcje z tymczasową licencją.
- Zakup – Uzyskaj pełny dostęp i priorytetowe wsparcie.
Implementacja krok po kroku
Jak wyodrębnić tekst z PDF‑ów (i innych dokumentów)
Wyodrębnianie surowego lub sformatowanego tekstu to pierwszy krok w kierunku tworzenia indeksu dokumentów. Gdy wyodrębniasz tekst z PDF w Javie, dostarczasz silnikowi wyszukiwania coś, co może zrozumieć.
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);
Wskazówka: Ustaw
setUseRawTextExtraction(true), jeśli potrzebujesz czystego tekstu bez formatowania.
Jak serializować wyodrębnione dane
Serializacja pozwala przechowywać wyodrębnione dane do późniejszego indeksowania.
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
extractedData.serialize(outputStream);
byte[] serializedArray = outputStream.toByteArray();
Jak deserializować wyodrębnione dane
Gdy jesteś gotowy do budowy indeksu, przekształć tablicę bajtów z powrotem w obiekt.
ByteArrayInputStream inputStream = new ByteArrayInputStream(serializedArray);
ExtractedData deserializedData = ExtractedData.deserialize(inputStream);
Jak stworzyć indeks dokumentów
Teraz, gdy masz deserializedData, możesz stworzyć indeks, który będzie przechowywał wyszukiwalne terminy.
String indexFolder = "YOUR_OUTPUT_DIRECTORY/AdvancedUsage/Indexing/SeparateDataExtraction";
com.groupdocs.search.Index index = new com.groupdocs.search.Index(indexFolder);
Jak dodać dane do indeksu i wykonać wyszukiwanie
Dodanie danych i zapytanie indeksu kończy przepływ pracy wyodrębniania tekstu z PDF w Javie.
ExtractedData[] dataToIndex = new ExtractedData[] { deserializedData };
index.add(dataToIndex, new IndexingOptions());
String query = "ipsum";
SearchResult result = index.search(query);
Pro tip: Użyj
index.search("your query", SearchOptions), aby precyzyjnie dostroić ranking trafności.
Typowe przypadki użycia
- Systemy zarządzania dokumentami – Szybkie odnajdywanie umów, faktur lub polityk.
- Wyszukiwarki oparte na treści – Zasilają wewnętrzne bazy wiedzy dzięki możliwościom pełnotekstowego wyszukiwania w Javie.
- Rozwiązania archiwizacji danych – Indeksuj historyczne rekordy dla natychmiastowego dostępu.
Rozważania dotyczące wydajności
- Zarządzanie pamięcią: Dostosuj rozmiar sterty JVM dla dużych partii dokumentów.
- Opcje indeksowania: Wyłącz niepotrzebne funkcje (np. wektory terminów), aby przyspieszyć indeksowanie.
- Regularne aktualizacje: Utrzymuj GroupDocs.Search w najnowszej wersji, aby korzystać z poprawek wydajności.
Najczęściej zadawane pytania
P: Jak efektywnie obsługiwać bardzo duże pliki PDF?
O: Strumieniuj plik przy użyciu Extractor i przetwarzaj go w fragmentach; zwiększ także rozmiar sterty JVM w razie potrzeby.
P: Czy mogę dostosować składnię zapytań wyszukiwania?
O: Tak — GroupDocs.Search obsługuje operatory logiczne, symbole wieloznaczne i wyszukiwania przybliżeniowe.
P: Co zrobić, gdy serializacja nie powiedzie się?
O: Upewnij się, że wszystkie obiekty implementują Serializable i przechwyć IOException, aby zalogować szczegóły.
P: Czy można indeksować tylko określone sekcje dokumentu?
O: Oczywiście — skonfiguruj ExtractionOptions, aby filtrować strony lub sekcje przed indeksowaniem.
P: Jak zaktualizować do nowszej wersji GroupDocs.Search?
O: Zaktualizuj numer wersji w pliku pom.xml i uruchom mvn clean install; przejrzyj przewodnik migracji pod kątem zmian łamiących kompatybilność.
Zasoby
- Dokumentacja: GroupDocs Documentation
- Referencja API: GroupDocs API Reference
- Pobieranie: GroupDocs Downloads
- GitHub: GroupDocs GitHub Repository
- Bezpłatne wsparcie: GroupDocs Forum
- Tymczasowa licencja: Obtain a Temporary License
Ostatnia aktualizacja: 2026-02-19
Testowano z: GroupDocs.Search 25.4 for Java
Autor: GroupDocs