Ekstrak Teks PDF Java – Bangun Indeks dengan GroupDocs.Search

Dalam panduan praktis ini Anda akan menemukan cara mengekstrak pdf text java dari file PDF, men-serialize konten yang diekstrak, dan membuat indeks pencarian berperforma tinggi. Baik Anda membangun basis pengetahuan internal, portal pencarian kontrak, atau mesin pencari khusus, langkah‑langkah di bawah ini akan memandu Anda melalui semuanya—dari mengambil teks dari PDF hingga menjalankan kueri full‑text yang kuat. Mari kita mulai dan lihat mengapa GroupDocs.Search membuat seluruh proses menjadi mulus dan dapat diskalakan.

Jawaban Cepat

Metode index.search menjalankan kueri terhadap indeks yang dibuat dan mengembalikan daftar dokumen yang cocok beserta skor relevansi.

  • Apa tujuan utama? Mengekstrak pdf text java dari file PDF dan membuat indeks dokumen yang dapat dicari dengan GroupDocs.Search.
  • Versi perpustakaan mana? GroupDocs.Search 25.4 (atau rilis terbaru).
  • Apakah saya memerlukan lisensi? Versi percobaan gratis cukup untuk pengembangan; lisensi penuh diperlukan untuk produksi.
  • Bisakah saya mengindeks PDF? Ya—ekstrak teks PDF dan tambahkan ke indeks.
  • Bagaimana cara menjalankan pencarian? Gunakan metode index.search(query) setelah menambahkan data.

Apa Itu Indeks Dokumen?

Indeks Dokumen adalah kumpulan terstruktur dari istilah yang dapat dicari yang diekstrak dari file Anda. Ia memetakan setiap istilah ke dokumen tempat istilah tersebut muncul, memungkinkan pencarian full‑text yang cepat di seluruh repositori besar dan mengurangi waktu pencarian dari menit menjadi milidetik, sambil mendukung fitur peringkat dan relevansi.

Mengapa Menggunakan GroupDocs.Search untuk Java?

GroupDocs.Search mendukung lebih dari 50 format input dan output, dapat mengindeks jutaan dokumen tanpa memuat seluruh file ke memori, dan menawarkan bahasa kueri yang kaya dengan operator Boolean, wildcard, dan proximity. Kemampuan terkuantifikasi ini menjadikannya ideal untuk solusi pencarian skala perusahaan. Ia juga menyediakan deteksi bahasa bawaan, stemming, dan analisator yang dapat disesuaikan untuk meningkatkan akurasi pencarian pada konten multibahasa.

Prasyarat

  • GroupDocs.Search untuk Java (Versi 25.4 atau lebih baru).
  • Java Development Kit (JDK) yang kompatibel dengan versi GroupDocs Anda.
  • Sebuah IDE seperti IntelliJ IDEA atau Eclipse.
  • Maven untuk manajemen dependensi.

Menyiapkan GroupDocs.Search untuk Java

Pertama, tambahkan perpustakaan ke proyek Anda.

Pengaturan Maven
Sertakan berikut ini dalam file pom.xml Anda:

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

Unduhan Langsung
Sebagai alternatif, unduh versi terbaru dari Rilis GroupDocs.Search untuk Java.

Akuisisi Lisensi

  • Percobaan Gratis – Uji semua fitur dengan lisensi sementara.
  • Pembelian – Dapatkan akses penuh dan dukungan prioritas.

Cara mengekstrak teks dari PDF (dan dokumen lain)

Muat PDF Anda (atau dokumen yang didukung) dengan kelas Extractor, konfigurasikan opsi ekstraksi, dan panggil extractText(). Pemanggilan satu baris ini mengembalikan teks mentah atau terformat yang siap untuk diindeks.

Kelas Extractor adalah komponen inti GroupDocs.Search yang membaca dokumen dan menghasilkan teks polos atau terformat.

// ```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); // Ekstrak dengan format
ExtractedData extractedData = extractor.extract(document, extractionOptions);

Tip: Atur setUseRawTextExtraction(true) jika Anda memerlukan teks polos tanpa format.

Cara men-serialize data yang diekstrak

Serialisasi mengubah objek teks yang diekstrak menjadi array byte, memungkinkan Anda menyimpannya ke disk atau mentransmisikannya melalui jaringan untuk diindeks nanti.

Utilitas SerializationUtil menyediakan metode statis untuk mengubah objek menjadi aliran byte dan sebaliknya.

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

Cara men-deserialize data yang diekstrak

Saat Anda siap membangun indeks, deserialize array byte yang sebelumnya disimpan kembali menjadi objek ekstraksi asli.

Metode deserialize mengembalikan keadaan tepat hasil ekstraksi, memastikan tidak ada kehilangan data antar sesi.

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

Cara membuat indeks dokumen

Instansiasi objek Index, tentukan folder penyimpanan, dan konfigurasikan opsi pengindeksan seperti vektor istilah dan penanganan stop‑words.

Kelas Index mewakili kontainer yang dapat dicari yang menyimpan semua istilah, referensi dokumen, dan metadata.

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

Cara menambahkan data ke indeks dan melakukan pencarian

Tambahkan hasil ekstraksi yang telah di‑deserialize ke indeks dengan index.add(), lalu lakukan kueri menggunakan index.search() untuk hasil instan.

Metode add mendaftarkan istilah dokumen ke dalam indeks, sementara search mengeksekusi kueri terhadap istilah‑istilah tersebut.

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

Pro tip: Gunakan index.search("your query", SearchOptions) untuk menyempurnakan peringkat relevansi.

Kasus Penggunaan Umum

  1. Sistem Manajemen Dokumen – Dengan cepat menemukan kontrak, faktur, atau kebijakan.
  2. Mesin Pencari Berbasis Konten – Menggerakkan basis pengetahuan internal dengan kemampuan pencarian full‑text java.
  3. Solusi Pengarsipan Data – Mengindeks catatan historis untuk pengambilan instan.

Pertimbangan Kinerja

Metode setStoreTermVectors(boolean) mengatur apakah vektor istilah disimpan dalam indeks, memengaruhi ukuran indeks dan kinerja kueri.

  • Manajemen Memori: Tingkatkan ukuran heap JVM (mis., -Xmx4g) saat memproses batch lebih besar dari 500 MB.
  • Opsi Pengindeksan: Nonaktifkan vektor istilah (setStoreTermVectors(false)) untuk mengurangi ukuran indeks hingga 30 %.
  • Pembaruan Rutin: Jaga GroupDocs.Search tetap terbaru; setiap rilis minor menyertakan peningkatan kecepatan rata‑rata sebesar 10‑15 %.

Pertanyaan yang Sering Diajukan

T: Bagaimana cara menangani file PDF yang sangat besar secara efisien?
J: Alirkan file menggunakan Extractor dan proses dalam potongan; juga tingkatkan heap JVM bila diperlukan.

T: Bisakah saya menyesuaikan sintaks kueri pencarian?
J: Ya—GroupDocs.Search mendukung operator Boolean, wildcard, dan pencarian proximity.

T: Apa yang harus saya lakukan jika serialisasi gagal?
J: Pastikan semua objek mengimplementasikan Serializable dan tangkap IOException untuk mencatat detailnya.

T: Apakah memungkinkan mengindeks hanya bagian tertentu dari dokumen?
J: Tentu—konfigurasikan ExtractionOptions untuk memfilter halaman atau bagian sebelum pengindeksan.

T: Bagaimana cara memperbarui ke versi GroupDocs.Search yang lebih baru?
J: Perbarui nomor versi di pom.xml Anda dan jalankan mvn clean install; tinjau panduan migrasi untuk perubahan yang dapat memengaruhi.

Sumber Daya


Terakhir Diperbarui: 2026-07-07
Diuji Dengan: GroupDocs.Search 25.4 untuk Java
Penulis: GroupDocs

Tutorial Terkait