Konfigurasikan Pencarian Terdistribusi dengan Jaringan GroupDocs.Search Java

Di dunia yang didorong oleh data saat ini, configure distributed search sangat penting untuk menangani koleksi dokumen yang masif sambil menjaga waktu respons tetap rendah. Tutorial ini memandu Anda dalam menyiapkan jaringan GroupDocs.Search untuk Java yang kuat, menunjukkan cara menyebarkan pencarian di beberapa node, menambahkan dokumen ke indeks, dan mengonfigurasi pengaturan TCP untuk komunikasi yang andal. Pada akhir tutorial, Anda akan memiliki solusi pencarian yang skalabel siap untuk produksi dan pemahaman yang jelas mengapa arsitektur ini mengungguli setup node tunggal.

Jawaban Cepat

  • Apa itu configure distributed search? Ini adalah proses menghubungkan beberapa node pencarian independen sehingga mereka secara kolektif mengindeks dan menjawab kueri, memberikan throughput yang lebih tinggi dan toleransi kesalahan.
  • Berapa banyak node yang direkomendasikan? Biasanya 3‑5 node memberikan keseimbangan yang baik antara kinerja dan toleransi kesalahan untuk sebagian besar beban kerja perusahaan.
  • Apakah saya memerlukan lisensi? Ya – lisensi sementara atau penuh diperlukan untuk penggunaan produksi GroupDocs.Search.
  • Port mana yang harus saya gunakan? Pilih port yang tersedia di server Anda; contoh menggunakan 49136‑49139, tetapi rentang port terbuka mana pun dapat digunakan.
  • Bisakah saya menambahkan dokumen baru setelah penyebaran? Tentu saja – Anda dapat add documents to index kapan saja tanpa harus memulai ulang jaringan.

Mengonfigurasi arsitektur pencarian terdistribusi berarti menghubungkan beberapa node pencarian independen sehingga mereka berbagi pekerjaan pengindeksan dan menjawab kueri secara kolektif. Ini mengurangi beban pada satu mesin, meningkatkan throughput dan keandalan, serta menyediakan redundansi bawaan untuk toleransi kesalahan.

Mengapa menggunakan GroupDocs.Search untuk Java?

GroupDocs.Search untuk Java menyediakan high‑performance indexing (hingga 1 GB/s pada perangkat keras modern) dan scalable architecture yang mendukung klaster dengan lebih dari 10 node. Ia secara native memahami 50+ format dokumen—termasuk PDF, DOCX, XLSX, PPTX, dan file email—sehingga Anda dapat mengindeks hampir semua konten bisnis tanpa konverter tambahan. Kelas TcpSettings bawaan memungkinkan Anda menyesuaikan latensi, throughput, dan interval keep‑alive, memastikan komunikasi antar‑node yang andal bahkan melintasi batas data‑center. TcpSettings mengonfigurasi parameter komunikasi TCP tingkat rendah antar node.

Prasyarat

Perpustakaan dan Ketergantungan yang Diperlukan

Anda memerlukan GroupDocs.Search for Java versi 25.4 atau lebih baru. Pastikan lingkungan pengembangan Anda telah menginstal Java.

Persyaratan Penyiapan Lingkungan

  • Sebuah Java Development Kit (JDK) 11 atau yang lebih baru.
  • Sebuah IDE seperti IntelliJ IDEA atau Eclipse untuk manajemen proyek yang nyaman.

Prasyarat Pengetahuan

Keterampilan pemrograman Java dasar dan pemahaman umum tentang konfigurasi jaringan akan membantu Anda mengikuti langkah-langkah dengan lancar.

Menyiapkan GroupDocs.Search untuk Java

Untuk memulai, tambahkan GroupDocs.Search untuk Java ke proyek Anda. Anda dapat melakukannya melalui Maven atau dengan mengunduh perpustakaan secara langsung.

Pengaturan Maven
Tambahkan repositori dan konfigurasi dependensi berikut di 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>

Unduh Langsung
Sebagai alternatif, unduh versi terbaru dari GroupDocs.Search for Java releases.

Akuisisi Lisensi

Untuk memanfaatkan GroupDocs.Search secara penuh, Anda dapat memperoleh lisensi sementara atau membeli satu. Kunjungi halaman lisensi GroupDocs untuk informasi lebih lanjut tentang cara mendapatkan percobaan gratis atau lisensi penuh. Anda juga dapat menggunakan halaman lisensi GroupDocs untuk tujuan yang sama.

Inisialisasi dan Penyiapan Dasar

Mari inisialisasi GroupDocs.Search dalam aplikasi Java Anda:

import com.groupdocs.search.*;

public class SearchSetup {
    public static void main(String[] args) {
        // Create an index in the specified folder
        Index index = new Index("YOUR_INDEX_DIRECTORY");

        // Add documents to the index
        index.add("YOUR_DOCUMENT_DIRECTORY");
    }
}

Panduan Implementasi

Di bagian ini, kami akan memandu Anda melalui konfigurasi dan penyebaran jaringan pencarian menggunakan GroupDocs.Search untuk Java.

Cara mengonfigurasi pencarian terdistribusi dengan GroupDocs.Search?

Muat konfigurasi jaringan, tentukan jalur dasar, dan atur parameter TCP dalam beberapa baris kode saja. Pola jawaban langsung ini menunjukkan langkah-langkah penting sebelum penjelasan detail apa pun.

Pertama, buat objek SearchNetworkConfig, tentukan direktori dasar bersama, dan tetapkan port TCP yang berbeda untuk setiap node. SearchNetworkConfig mendefinisikan pengaturan untuk klaster pencarian terdistribusi, seperti direktori dasar dan port node. Kemudian, instantiate TcpSettings—kelas yang mengontrol timeout soket, ukuran buffer, dan perilaku keep‑alive. Akhirnya, panggil NetworkManager.deploy(config) untuk meluncurkan klaster. NetworkManager menangani penyebaran dan manajemen node pencarian dalam klaster.

Mengonfigurasi Jaringan

Kelas TcpSettings adalah pusat konfigurasi untuk semua komunikasi tingkat TCP antar node. Ini memungkinkan Anda mengatur timeout koneksi, ukuran buffer baca/tulis, dan apakah menggunakan algoritma Nagle.

Configuration configuration = ConfiguringSearchNetwork.configure("YOUR_DOCUMENT_DIRECTORY", 49136);

Menyebarkan Node

Sebarkan setiap node dengan memberikan identifier uniknya dan konfigurasi yang telah didefinisikan sebelumnya. Rutinitas penyebaran secara otomatis mendaftarkan node ke klaster, membuka soket pendengaran, dan memulai thread pengindeksan latar belakang.

public static SearchNetworkNode[] deploy(String basePath, int basePort, Configuration configuration) {
    // Define timeouts for sending and receiving data over the network.
    int sendTimeout = 3000;
    int receiveTimeout = 3000;

    // Create and start three nodes that can run on separate servers or together.
    SearchNetworkNode node1 = new SearchNetworkNode(
        1,
        basePath + "Node1",
        new TcpSettings(basePort + 1, sendTimeout, receiveTimeout)
    );
    node1.start();

    SearchNetworkNode node2 = new SearchNetworkNode(
        2,
        basePath + "Node2",
        new TcpSettings(basePort + 2, sendTimeout, receiveTimeout)
    );
    node2.start();

    SearchNetworkNode node3 = new SearchNetworkNode(
        3,
        basePath + "Node3",
        new TcpSettings(basePort + 3, sendTimeout, receiveTimeout)
    );
    node3.start();

    // Create and configure the main configuration node.
    SearchNetworkNode node0 = new SearchNetworkNode(
        0,
        basePath + "Node0",
        new TcpSettings(basePort, sendTimeout, receiveTimeout),
        new ConsoleLogger(),
        configuration
    );

    // Add an event handler to notify when the configuration is complete.
    node0.getEvents().ConfigurationCompleted.add(new EventHandler() {
        @Override
        public void invoke(Object s, EventArgs e) {
            // Event handling logic here (e.g., logging)
        }
    });

    // Configure all nodes in the network using the main configuration node.
    node0.configureAllNodes();

    // Start the search network by launching all configured nodes.
    node0.start();

    // Return an array of all deployed nodes.
    return new SearchNetworkNode[] {node0, node1, node2, node3};
}

Masalah Umum dan Solusinya

  • Directory Access Errors – Pastikan direktori dasar setiap node ada dan proses Java memiliki izin baca/tulis.
  • Port Conflicts – Verifikasi bahwa port yang dipilih (mis., 49136‑49139) tidak digunakan oleh layanan lain; Anda dapat menjalankan netstat -an untuk memeriksa.
  • Timeouts on Slow Networks – Tingkatkan TcpSettings.setConnectionTimeout() jika Anda mengalami pemutusan yang sering pada lingkungan dengan latensi tinggi.
  • Index Corruption – Secara rutin cadangkan folder indeks dan aktifkan NetworkManager.enableAutoRecovery() untuk membangun kembali shard yang rusak secara otomatis.

Aplikasi Praktis

Menyebarkan jaringan pencarian terdistribusi dapat bermanfaat dalam berbagai skenario:

  1. Large‑Scale Enterprise Systems – Mengindeks jutaan kontrak, kebijakan, dan laporan sambil mempertahankan respons kueri kurang dari satu detik.
  2. Content Management Platforms – Melayani ribuan pengguna bersamaan yang mencari di seluruh aset multimedia tanpa bottleneck.
  3. E‑commerce Websites – Mempercepat pencarian produk dan navigasi berfaset pada katalog yang berisi jutaan SKU.

Pertimbangan Kinerja

Untuk menjaga lingkungan configure distributed search Anda berjalan efisien:

  • Index Size Management – GroupDocs.Search dapat menangani indeks yang melebihi 100 GB; namun, pantau I/O disk dan pertimbangkan sharding koleksi besar di beberapa node.
  • Resource Tuning – Terapkan flag penyetelan memori Java (-Xmx8g -Xms4g) berdasarkan beban kerja Anda, dan sesuaikan TcpSettings.setReadBufferSize() untuk jaringan dengan throughput tinggi.
  • Health Monitoring – Gunakan NetworkHealthMonitor bawaan untuk melacak CPU, memori, dan latensi jaringan per node, serta mengatur peringatan untuk ambang batas yang Anda tentukan.

Kesimpulan

Dengan mengikuti tutorial ini, Anda telah belajar cara configure distributed search dan menyebarkan jaringan GroupDocs.Search Java yang skalabel. Solusi ini dapat secara dramatis meningkatkan kecepatan dan keandalan fitur pencarian aplikasi Anda, terutama saat menangani koleksi dokumen besar dan heterogen.

Langkah Selanjutnya

Jelajahi kemampuan lanjutan seperti analyzer khusus, penanganan sinonim, dan pengindeksan real‑time untuk lebih menyempurnakan pengalaman pencarian Anda. Anda juga dapat mengintegrasikan jaringan dengan lapisan API RESTful untuk mengekspos fungsi pencarian ke klien eksternal.

Ajakan untuk Bertindak

Mulailah menerapkan solusi kuat ini dalam proyek Anda hari ini dan saksikan peningkatan kinerja secara langsung!

Pertanyaan yang Sering Diajukan

Q: What is GroupDocs.Search for Java?
A: GroupDocs.Search for Java adalah perpustakaan berperforma tinggi yang mengindeks dan mencari teks di lebih dari 50 format dokumen, menyediakan pencarian full‑text yang cepat dan skalabel untuk aplikasi Java.

Q: How do I obtain a temporary license for GroupDocs.Search?
A: Kunjungi halaman lisensi GroupDocs untuk meminta percobaan gratis atau membeli lisensi penuh untuk penggunaan produksi.

Q: Can I add new documents after the network is deployed?
A: Ya, Anda dapat add documents to index kapan saja menggunakan metode IndexManager.addDocument(); perubahan tersebut secara otomatis menyebar ke seluruh klaster. IndexManager.addDocument() menambahkan dokumen baru ke indeks dan menyebarkannya ke seluruh jaringan.

Q: What are common pitfalls when configuring nodes?
A: Masalah umum meliputi jalur dasar yang tidak cocok, konflik port, dan izin sistem file yang tidak memadai. Periksa kembali konfigurasi setiap node dan pastikan semua direktori dapat diakses.

Q: Does the network support real‑time indexing?
A: Tentu saja. GroupDocs.Search menawarkan API pengindeksan real‑time yang langsung membuat dokumen yang baru ditambahkan dapat dicari di semua node tanpa downtime.


Terakhir Diperbarui: 2026-06-27
Diuji Dengan: GroupDocs.Search 25.4 for Java
Penulis: GroupDocs

Tutorial Terkait