Cara mengindeks dokumen dengan GroupDocs.Search untuk Java
Di dunia yang didorong oleh data saat ini, cara mengindeks dokumen secara efisien adalah keterampilan penting bagi setiap pengembang Java yang menangani koleksi file besar. Baik Anda memproses kontrak hukum, laporan keuangan, atau laporan internal, indeks pencarian yang dibangun dengan baik memungkinkan Anda menemukan informasi yang tepat dalam hitungan detik alih-alih berjam‑jam memindai secara manual. Tutorial ini membimbing Anda melalui pembuatan indeks pencarian, menambahkan dokumen, dan menjalankan kueri berbasis teks maupun objek dengan GroupDocs.Search untuk Java.
Jawaban Cepat
- Apa langkah pertama untuk mengindeks dokumen? Buat instance
Indexyang menunjuk ke folder tempat file indeks akan disimpan. - Metode mana yang menambahkan dokumen ke indeks? Panggil
index.add("PATH_TO_DOCUMENTS")untuk memindai direktori dan mengimpor file yang didukung. - Bisakah saya mencari rentang numerik? Ya – gunakan kueri teks seperti
"400 ~~ 4000"atau kueri objek melaluiSearchQuery.createNumericRangeQuery. MetodecreateNumericRangeQuerymembangun objek kueri rentang numerik. - Apakah saya memerlukan lisensi? Versi percobaan gratis dapat digunakan untuk evaluasi; lisensi komersial membuka semua fitur dan menghapus batas penggunaan.
- Versi Java mana yang diperlukan? JDK 8 atau lebih tinggi didukung.
Apa itu cara mengindeks dokumen dengan GroupDocs.Search?
Mengindeks dokumen menciptakan penyimpanan token yang dapat dicari untuk setiap file, memungkinkan mesin mengambil kecocokan tanpa membaca file asli setiap kali. Langkah pra‑pemrosesan ini mengubah konten mentah menjadi indeks yang dioptimalkan yang dapat dipertanyakan dalam milidetik. Indeks menyimpan istilah, posisi, dan metadata, memungkinkan pencarian frasa dan kedekatan yang cepat di semua tipe dokumen yang didukung.
Mengapa menggunakan GroupDocs.Search untuk Java?
Operasi pencarian biasanya selesai dalam kurang dari 50 ms pada koleksi 10 000 file (rata‑rata 1 KB masing‑masing) yang berjalan pada VM standar 2‑CPU, 8 GB. Perpustakaan ini mendukung 30+ input and output formats—termasuk PDF, DOCX, XLSX, PPTX, TXT, dan HTML—sehingga Anda dapat mengindeks hampir semua dokumen bisnis tanpa konverter tambahan. API yang fleksibel memungkinkan Anda menggabungkan kueri teks biasa, rentang numerik, dan kueri objek kompleks, sementara pembaruan inkremental memungkinkan penambahan file baru tanpa membangun ulang seluruh indeks.
Prasyarat
- Maven terpasang untuk manajemen dependensi.
- IDE seperti IntelliJ IDEA atau Eclipse.
- Pengetahuan dasar Java (konsep OOP, penanganan exception).
Menyiapkan GroupDocs.Search untuk Java
Pengaturan Maven
Tambahkan repositori dan dependensi ke 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
Anda juga dapat mengunduh JAR terbaru dari GroupDocs.Search for Java releases.
Langkah-langkah memperoleh lisensi
- Versi percobaan gratis – jelajahi perpustakaan tanpa biaya.
- Lisensi sementara – minta kunci jangka pendek untuk evaluasi yang lebih lama.
- Pembelian – dapatkan lisensi penuh untuk penggunaan produksi.
Inisialisasi dan pengaturan dasar
Untuk menambahkan dokumen ke indeks, pertama Anda membuat objek Index yang menunjuk ke folder tempat file indeks akan disimpan:
Index adalah kelas inti yang mewakili indeks yang dapat dicari di disk.
import com.groupdocs.search.Index;
// Initialize the index by specifying a directory path
Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\NumericRangeSearch");
Baris ini membuat (atau membuka) indeks yang siap menerima dokumen.
Panduan implementasi
Membuat dan mengindeks dokumen
Cara menambahkan dokumen ke indeks
Metode add memindai folder dan menyimpan data yang dapat dicari untuk setiap file. Ia memproses secara rekursif setiap dokumen yang didukung, mengekstrak teks dan metadata, serta menulis token ke folder indeks yang Anda tentukan sebelumnya.
import com.groupdocs.search.Index;
// Initialize an index at the specified path
Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\NumericRangeSearch");
// Add documents from a directory for indexing
index.add("YOUR_DOCUMENT_DIRECTORY");
- Parameter: String path menunjuk ke folder yang berisi file yang ingin Anda indeks.
- Tujuan: Setelah langkah ini, indeks berisi token dari semua tipe dokumen yang didukung, memungkinkan pencarian cepat di seluruh koleksi.
Pencarian kueri teks
Cara melakukan pencarian rentang numerik berbasis teks
Anda dapat mencari menggunakan string sederhana yang mendefinisikan rentang. Mesin menginterpretasikan operator ~~ sebagai “antara” dan mengembalikan semua dokumen yang berisi angka dalam batas yang ditentukan.
import com.groupdocs.search.*;
import com.groupdocs.search.results.*;
// Define a query for numeric values within a specific range
String query1 = "400 ~~ 4000";
// Execute text-based search on indexed data
SearchResult result1 = index.search(query1);
- Parameter: String kueri
"400 ~~ 4000"memberi tahu mesin untuk menemukan angka antara 400 dan 4000. - Nilai kembali:
SearchResultberisi daftar dokumen yang cocok dan menyorot fragmen yang cocok.
Pencarian kueri objek
Cara menggunakan kueri objek untuk rentang numerik
Kueri berbasis objek memberi Anda kontrol programatik atas kriteria pencarian, memungkinkan Anda menggabungkan beberapa kondisi atau membangun kueri secara dinamis pada waktu berjalan.
import com.groupdocs.search.*;
import com.groupdocs.search.results.*;
// Create a numeric range query object
SearchQuery query2 = SearchQuery.createNumericRangeQuery(400, 4000);
// Perform search using the query object
SearchResult result2 = index.search(query2);
- Parameter:
createNumericRangeQuerymenerima integer awal dan akhir. - Tujuan: Metode ini ideal ketika Anda perlu memfilter hasil berdasarkan bidang numerik seperti total faktur, usia, atau kode produk.
Aplikasi praktis
Berikut beberapa skenario dunia nyata di mana cara mengindeks dokumen menjadi pengubah permainan:
- Manajemen dokumen hukum – temukan klausa, nomor kasus, atau tanggal di ribuan kontrak dalam hitungan detik.
- Pelaporan keuangan – tarik transaksi yang berada dalam rentang moneter tertentu tanpa memindai setiap spreadsheet.
- Pelacakan inventaris – temukan item berdasarkan nomor seri, kode batch, atau rentang SKU di sistem file terdistribusi.
Mengintegrasikan GroupDocs.Search dengan basis data, penyimpanan cloud, atau antrian pesan dapat lebih mengotomatisasi alur kerja dokumen.
Pertimbangan kinerja
- Pembaruan indeks reguler: Jalankan kembali
index.adduntuk file baru agar indeks tetap segar. - Manajemen sumber daya: Pantau penggunaan heap; indeks besar mendapat manfaat dari pengaturan garbage‑collection JVM yang disesuaikan.
- Optimisasi kueri: Gunakan kueri objek untuk filter kompleks guna mengurangi pemindaian yang tidak perlu dan meningkatkan waktu respons.
Masalah umum dan solusi
| Masalah | Mengapa terjadi | Solusi |
|---|---|---|
| Pencarian tidak menghasilkan hasil | Indeks belum dibuat atau jalur folder tidak benar | Verifikasi bahwa index.add dijalankan pada direktori yang benar dan bahwa folder indeks dapat ditulisi. |
| OutOfMemoryError selama pengindeksan | File sangat besar atau heap tidak cukup | Tingkatkan nilai JVM -Xmx atau indeks file dalam batch yang lebih kecil. |
| Format file tidak didukung | Tipe file tidak dikenali oleh GroupDocs.Search | Pastikan ekstensi berada dalam daftar yang didukung (PDF, DOCX, XLSX, PPTX, TXT, HTML, dll.). |
Pertanyaan yang sering diajukan
Q: Bagaimana cara memperbarui indeks yang ada dengan dokumen baru?
A: Panggil index.add("NEW_DOCUMENT_PATH") lagi; perpustakaan menggabungkan entri baru tanpa membuat ulang seluruh indeks.
Q: Apakah GroupDocs.Search dapat menangani berbagai format file?
A: Ya, ia mendukung lebih dari 30 format—termasuk PDF, DOCX, XLSX, PPTX, TXT, dan HTML—sehingga Anda dapat mengindeks hampir semua dokumen bisnis.
Q: Apa persyaratan sistem untuk menggunakan GroupDocs.Search?
A: Runtime Java 8+, minimal 2 GB RAM untuk koleksi kecil (set yang lebih besar mendapat manfaat dari 4 GB+), serta akses baca/tulis ke folder indeks.
Q: Bagaimana cara mengatasi masalah kinerja pencarian?
A: Jaga agar indeks selalu terbaru, profilkan kueri Anda, dan tinjau pengaturan memori JVM. Mengurangi jumlah bidang yang diindeks atau menggunakan kueri objek juga dapat mempercepat eksekusi.
Q: Apakah ada dukungan untuk sinonim atau pencocokan fuzzy?
A: Ya, Anda dapat mengaktifkan kamus sinonim dan pencarian fuzzy melalui kelas SearchOptions untuk memperluas pencocokan tanpa mengorbankan relevansi. Kelas SearchOptions mengonfigurasi perilaku pencarian lanjutan seperti sinonim dan pencocokan fuzzy.
Terakhir Diperbarui: 2026-08-10
Diuji Dengan: GroupDocs.Search 25.4 for Java
Penulis: GroupDocs