全部产品
Search
文档中心

Elasticsearch:Klien Java

更新时间:Jun 24, 2025

Topik ini menjelaskan prinsip, kompatibilitas versi, serta contoh penggunaan klien Java untuk Elasticsearch. Anda dapat menggunakan klien Java untuk berinteraksi dengan Elasticsearch dan melaksanakan tugas-tugas pengambilan data serta analitik.

Migrasikan kode yang ada dari Transport Client ke klien REST

Transport Client adalah klien khusus yang dikembangkan bersamaan dengan versi pertama Elasticsearch. Klien ini berkomunikasi dengan Elasticsearch melalui TCP. Jika berkomunikasi dengan Elasticsearch dari versi yang tidak sesuai dengan versinya, masalah ketidaksesuaian mungkin terjadi. Untuk informasi lebih lanjut, lihat Motivasi di Balik Klien Java Baru.

Elasticsearch merilis Java Low Level REST Client pada tahun 2016. Java Low Level REST Client dibangun berdasarkan Apache HTTP client dan dapat berkomunikasi dengan semua versi kluster Elasticsearch melalui HTTP. Elasticsearch juga merilis High Level REST Client yang didasarkan pada Low Level REST Client.

Transport Client mulai ditinggalkan di Elasticsearch 7.0 dan tidak lagi tersedia di Elasticsearch 8.0. Kami menyarankan Anda menggunakan klien REST Java. Klien REST Java menggunakan permintaan HTTP untuk menangani masalah serialisasi permintaan dan respons, sehingga mempermudah pengembangan bisnis Anda.

null

Anda hanya dapat menggunakan Transport Client untuk mengakses kluster Elasticsearch V5.5 atau V5.6 milik Alibaba Cloud melalui port 9300. Kluster Elasticsearch Alibaba Cloud versi 6.X atau lebih tinggi tidak mendukung Transport Client.

Jika Anda menggunakan Transport Client 5.5 atau 5.6 untuk mengakses kluster Elasticsearch milik Alibaba Cloud, sistem akan menampilkan pesan kesalahan "NoNodeAvailableException". Untuk memastikan kompatibilitas versi, kami sarankan Anda menggunakan Transport Client 5.3.3 atau Java Low Level REST Client untuk mengakses kluster Elasticsearch. Jika Transport Client digunakan, atur client.transport.sniff ke false. Untuk informasi lebih lanjut, lihat Transport Client (5.x).

Klien REST Java

Elasticsearch menyediakan jenis-jenis klien REST Java berikut:

  • Java Low Level REST Client: Berkomunikasi dengan kluster Elasticsearch melalui HTTP. Operasi API tidak mengkodekan atau mendekode data. Java Low Level REST Client kompatibel dengan semua versi Elasticsearch.

  • Java High Level REST Client: Dibangun berdasarkan Java Low Level REST Client dan dirancang untuk mengekspos metode spesifik operasi API. Java High Level REST Client bergantung pada proyek inti Elasticsearch. Klien ini menerima objek permintaan sebagai parameter dan mengembalikan objek respons. Semua operasi API dapat dipanggil secara sinkron atau asinkron.

    • Metode sinkron mengembalikan objek respons.

    • Metode asinkron, yang namanya memiliki akhiran async, memerlukan parameter pendengar. Parameter ini memberi tahu metode target untuk melanjutkan ketika respons atau kesalahan diterima.

Topik ini menjelaskan cara menggunakan klien Java. Kami menyarankan Anda menggunakan klien REST. Klien Java mencakup: