全部产品
Search
文档中心

OpenSearch:Cava untuk pengembangan plug-in sort

更新时间:Jun 26, 2025

Topik ini menjelaskan Cava, bahasa pemrograman yang dikembangkan oleh tim OpenSearch berdasarkan proyek low-level virtual machine (LLVM). Cava menggunakan sintaksis mirip Java dan dapat mencapai performa seefisien C++. Sebagai bahasa pemrograman berorientasi objek, Cava mendukung kompilasi just-in-time (JIT) serta berbagai pemeriksaan keamanan untuk memastikan program lebih kuat. Anda dapat menggunakan Cava dan pustaka Cava yang disediakan oleh OpenSearch untuk merancang plug-in sort khusus di OpenSearch. Plug-in sort berbasis Cava memiliki manfaat berikut dibandingkan dengan ekspresi yang didukung oleh OpenSearch:

  • Fitur penyesuaian lebih banyak: Cava mendukung lebih banyak fitur sintaksis daripada ekspresi, seperti loop for, definisi fungsi, dan definisi kelas. Fitur-fitur ini memungkinkan Anda menyesuaikan plug-in sort sesuai kebutuhan bisnis.

  • Lebih mudah dipelihara: Kode Cava lebih mudah dipahami daripada ekspresi, sehingga plug-in sort yang dikembangkan menggunakan Cava lebih mudah dipelihara.

  • Lebih mudah dipelajari: Cava menggunakan sintaksis mirip Java, yang mengurangi biaya pembelajaran. Jika Anda sudah familiar dengan Java, Anda dapat dengan mudah menggunakan Cava untuk mengembangkan plug-in sort.

Penting

  • OpenSearch hanya mendukung plug-in berbasis Cava untuk aplikasi eksklusif.

  • Plug-in berbasis Cava hanya berlaku untuk fine sorts.

  • Untuk informasi lebih lanjut tentang sintaksis Cava, lihat topik tentang plug-in sort berbasis Cava di Panduan Pengembang.

Prosedur

  1. Buat Kebijakan: Di halaman Manajemen Kebijakan, klik Buat. Pada halaman Buat Kebijakan, pilih Fine Sort dari daftar drop-down Scope dan pilih Cava Script dari daftar drop-down Type.

image

  1. Tambahkan File Skrip: Anda dapat menambahkan file skrip dan mengedit skrip Cava langsung di konsol atau mengunggah file skrip lokal dalam format JSON.

image

  1. Kompilasi dan Publikasikan Skrip: Setelah mengedit file skrip, klik Compile untuk mengkompilasi semua file skrip. Status kompilasi akan ditampilkan di bawah tombol Compile. Setelah kompilasi berhasil, klik Publish untuk mempublikasikan file skrip. File skrip yang telah dipublikasikan tidak dapat dimodifikasi.

image

  1. Uji Performa Pengurutan: Di halaman Uji Pencarian kebijakan yang dibuat, atur parameter second_rank_name ke nama kebijakan dan parameter second_rank_type ke cava_script.

image

Blok kode berikut menunjukkan pengaturan parameter (Java digunakan dalam contoh ini):

...
// Buat objek SearchParams.
SearchParams searchParams = new SearchParams(config);
...

// Buat objek Rank.
Rank rank=new Rank();
// Konfigurasikan skrip Cava yang dipanggil.
rank.setSecondRankName("Nama skrip Cava");
// Atur tipe pengurutan ke skrip Cava.
rank.setSecondRankType(RankType.CAVA_SCRIPT);
// Tambahkan kebijakan pengurutan ke objek parameter.
searchParams.setRank(rank);

Peroleh parameter umum

  1. Peroleh skor menggunakan indeks vektor:

import com.aliyun.opensearch.cava.features.similarity.ProximaScore;

ProximaScore _proximaScoreVector;
_proximaScoreVector=ProximaScore.create (params, "{{indexes.vector_index}}"); // Nama indeks vektor yang diperlukan
float proximaScoreVector = _proximaScoreVector.evaluate(params);

Catatan penggunaan

  • OpenSearch hanya mendukung plug-in berbasis Cava untuk aplikasi eksklusif.

  • Satu file skrip Cava tidak boleh melebihi 10 KB. Maksimal lima file skrip dapat dibuat untuk satu kebijakan pengurutan Cava, dan maksimal 50 kebijakan pengurutan Cava dapat dibuat untuk satu instance aplikasi.

  • Skrip Cava yang telah dipublikasikan tidak dapat dimodifikasi. Jika ingin memodifikasi kebijakan pengurutan berbasis Cava, Anda dapat menduplikasi kebijakan pengurutan di halaman Manajemen Kebijakan dan kemudian memodifikasi skrip Cava.

  • Skrip Cava yang dikonfigurasi di SDK harus dipublikasikan. Skrip Cava yang belum dipublikasikan hanya dapat digunakan dalam uji pencarian.