Bangun Jaringan Pencarian yang Dapat Diskalakan – Indeks Dokumen dengan GroupDocs.Java
Dalam tutorial ini Anda akan belajar cara menambahkan dokumen ke indeks dan membangun jaringan pencarian yang dapat diskalakan dengan GroupDocs.Search untuk Java. Kami akan menjelaskan cara mengonfigurasi jaringan pencarian, menyebarkan node, dan menangani peristiwa sehingga aplikasi Anda dapat memproses koleksi dokumen besar secara efisien di beberapa server.
Jawaban Cepat
- Apa arti “add documents to index”? Itu berarti memasukkan file ke dalam indeks yang dapat dicari sehingga dapat dipertanyakan dengan cepat.
- Perpustakaan mana yang menyediakan kemampuan ini? GroupDocs.Search untuk Java.
- Apakah saya memerlukan lisensi? Lisensi percobaan sementara tersedia; lisensi komersial diperlukan untuk produksi.
- Bisakah saya melakukan skala secara horizontal? Ya—dengan menyebarkan beberapa instance SearchNetworkNode.
- Versi Java apa yang diperlukan? JDK 8 atau lebih tinggi.
Apa itu menambahkan dokumen ke indeks?
Muat file sumber Anda (PDF, DOCX, PPTX, dll.) ke dalam mesin GroupDocs.Search, yang mengekstrak teks, membangun tabel frekuensi istilah, dan menyimpannya dalam file indeks. Indeks yang dihasilkan memungkinkan kueri kata kunci dalam hitungan subdetik bahkan pada koleksi berisi ratusan halaman.
Mengapa menggunakan GroupDocs.Search untuk Java dalam lingkungan jaringan?
Sebarkan beban kerja pengindeksan dan pencarian ke beberapa node, kurangi latensi kueri dengan memproses dekat dengan sumber data, serta tambahkan atau hapus node tanpa waktu henti. Arsitektur ini memungkinkan Anda menelusuri di seluruh server sambil menjaga kinerja tetap konsisten.
Prasyarat
- Java Development Kit (JDK) 8+ terpasang.
- Maven untuk manajemen dependensi.
- Familiaritas dasar dengan Java dan struktur proyek Maven.
Perpustakaan, Versi, dan Dependensi yang Diperlukan
Untuk mengimplementasikan GroupDocs.Search untuk Java, sertakan hal berikut dalam proyek Maven 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>
Alternatifnya, unduh versi terbaru dari Rilisan GroupDocs.Search untuk Java. Anda juga dapat menemukan rilisnya di Rilisan GroupDocs Search Java.
Persyaratan Penyiapan Lingkungan
- JDK 8 atau lebih tinggi terpasang di sistem Anda.
- Maven terpasang dan dikonfigurasi jika menggunakan proyek Maven.
Prasyarat Pengetahuan
- Pemahaman dasar tentang pemrograman Java.
- Familiaritas dengan mengelola dependensi di Maven.
Menyiapkan GroupDocs.Search untuk Java
- Pengaturan Maven: Tambahkan repositori dan dependensi seperti yang ditunjukkan di atas dalam file
pom.xmlAnda. - Unduhan Langsung: Alternatifnya, unduh perpustakaan dari Rilisan GroupDocs Search Java.
Perolehan Lisensi
- Dapatkan lisensi percobaan gratis atau sementara dengan mengunjungi situs web GroupDocs.
- Untuk akses penuh dan dukungan, pertimbangkan membeli lisensi komersial.
Inisialisasi Dasar
Inisialisasi GroupDocs.Search dalam aplikasi Java Anda:
import com.groupdocs.search.*;
public class SearchSetup {
public static void main(String[] args) {
// Initialize an index
Index index = new Index("path/to/index/directory");
// Add documents to the index
index.add("path/to/documents");
System.out.println("GroupDocs.Search setup complete.");
}
}
Cara menambahkan dokumen ke indeks dalam Jaringan Pencarian?
Muat dokumen Anda melalui node mana pun dalam jaringan; kerangka kerja secara otomatis mendistribusikan beban kerja pengindeksan, menyeimbangkan beban, dan memperbarui indeks bersama secara waktu nyata. Setiap node memproses file yang ditugaskan, mengekstrak teks, dan menulis perubahan inkremental ke indeks pusat, memastikan konten yang baru ditambahkan menjadi dapat dicari di semua node hampir seketika.
Fitur 1: Mengonfigurasi Jaringan Pencarian
Gambaran Umum
Mengonfigurasi jaringan pencarian melibatkan penyiapan node untuk mengelola dan mendistribusikan tugas pencarian secara efisien.
Langkah 1: Tentukan Jalur Dasar dan Port
Kelas SearchNetworkNode mewakili satu node yang berpartisipasi dalam indeks terdistribusi.
String basePath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/SearchNetworkNodeEvents/";
int basePort = 49140; // Change if necessary due to busy port issues
Langkah 2: Konfigurasikan Jaringan
NetworkConfiguration menyimpan pengaturan umum (jalur dasar, port, faktor replikasi) yang dibaca setiap node saat startup.
import com.groupdocs.search.scaling.*;
import com.groupdocs.search.scaling.configuring.*;
Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
Fitur 2: Menyebarkan Node Jaringan Pencarian
Gambaran Umum
Sebarkan node untuk mendistribusikan dan menangani operasi pencarian di seluruh jaringan Anda.
Langkah 1: Sebarkan Node Menggunakan Konfigurasi
Instansi SearchNetworkNode dimulai dengan file konfigurasi yang sama, memungkinkan mereka menemukan satu sama lain melalui rentang port dasar yang ditentukan.
import com.groupdocs.search.scaling.*;
SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
Fitur 3: Berlangganan ke Peristiwa Node
Gambaran Umum
Berlangganan ke peristiwa node memungkinkan Anda memantau dan merespons berbagai tindakan dalam jaringan pencarian.
Langkah 1: Tentukan Metode Berlangganan
NodeEventListener adalah antarmuka yang Anda implementasikan untuk menerima panggilan balik tentang kemajuan pengindeksan, kesalahan, dan perubahan kesehatan node.
import com.groupdocs.search.events.*;
import com.groupdocs.search.scaling.events.*;
public static void subscribe(SearchNetworkNode node) {
// Subscribe to IndexingCompleted event
node.getEvents().IndexingCompleted.add(new EventHandler() {
@Override
public void invoke(Object s, EventArgs e) {
System.out.println("Indexing completed.");
}
});
// Additional events can be subscribed similarly...
}
Langkah 2: Gunakan Metode Berlangganan
Daftarkan listener Anda pada setiap node sehingga Anda mendapatkan umpan balik waktu nyata selama operasi batch besar.
SearchNetworkNode masterNode = nodes[0];
subscribe(masterNode);
Menutup Node
Selalu matikan node dengan lembut untuk membersihkan penulisan yang tertunda dan melepaskan soket jaringan.
for (SearchNetworkNode node : nodes) {
node.close();
}
Aplikasi Praktis
- Solusi Pencarian Perusahaan – Implementasikan jaringan pencarian untuk menangani pencarian dokumen berskala besar di seluruh beberapa server.
- Platform E‑commerce – Tingkatkan kemampuan pencarian produk dengan mendistribusikan tugas pengindeksan ke beberapa node.
- Sistem Manajemen Konten (CMS) – Tingkatkan kinerja pengambilan dan pembaruan konten dalam lingkungan CMS.
Pertimbangan Kinerja
- Optimalkan penyebaran node berdasarkan sumber daya sistem Anda.
- Pantau penggunaan memori secara teratur untuk mencegah kebocoran, terutama saat menangani dataset besar.
- Manfaatkan pengaturan konfigurasi untuk menyempurnakan operasi pengindeksan dan pencarian demi efisiensi yang lebih baik.
Masalah Umum dan Solusinya
| Masalah | Penyebab Umum | Solusi |
|---|---|---|
| Konflik port | basePort sudah digunakan | Ubah basePort ke nomor yang tersedia |
| Node tidak dapat dijangkau | Aturan firewall atau jaringan | Buka port yang diperlukan dan verifikasi konektivitas |
| Indeks tidak diperbarui | Jalur dokumen tidak tepat | Verifikasi basePath mengarah ke direktori yang benar |
| Penggunaan memori tinggi | Pengindeksan batch besar | Indeks dokumen dalam batch lebih kecil atau tingkatkan ukuran heap |
Pertanyaan yang Sering Diajukan
Q: Bagaimana cara menangani konflik port saat menyebarkan node?
A: Ubah variabel basePort dalam kode konfigurasi Anda ke port yang tersedia.
Q: Bisakah GroupDocs.Search digunakan untuk pengindeksan waktu nyata?
A: Ya, ia mendukung pengindeksan waktu nyata dengan konfigurasi yang tepat.
Q: Apa saja masalah umum selama penyebaran node?
A: Konektivitas jaringan dan pengaturan jalur yang salah sering menjadi penyebab. Pastikan semua jalur dan port dikonfigurasi dengan benar.
Q: Apakah memungkinkan menambahkan dokumen ke indeks setelah jaringan berjalan?
A: Tentu saja. Anda dapat memanggil index.add(...) pada node mana pun, dan jaringan akan mendistribusikan beban kerja baru secara otomatis.
Q: Apakah saya memerlukan lisensi untuk pengujian pengembangan?
A: Lisensi percobaan sementara sudah cukup untuk pengujian; lisensi komersial diperlukan untuk penggunaan produksi.
Sumber Daya
- Dokumentasi: Dokumen GroupDocs Search Java
- Referensi API: Referensi API GroupDocs
- Unduhan: Rilisan Terbaru
- GitHub: Repositori GitHub GroupDocs.Search
- Dukungan Gratis: Forum GroupDocs
- Lisensi Sementara: Dapatkan Lisensi Sementara
Dengan mengikuti panduan ini, Anda dapat secara efektif menambahkan dokumen ke indeks dan mengelola membangun jaringan pencarian yang dapat diskalakan yang kuat menggunakan GroupDocs.Search untuk Java. Selamat coding!
Terakhir Diperbarui: 2026-05-22
Diuji Dengan: GroupDocs.Search 25.4 for Java
Penulis: GroupDocs