Untuk menggunakan fitur algoritma OpenSearch dalam permintaan pencarian, teruskan parameter kustom yang diperlukan oleh setiap modul algoritma melalui SDK untuk Java. Topik ini mencantumkan parameter untuk setiap modul algoritma dan menunjukkan cara mengaturnya dalam kode Anda.
Parameter dan tempat pengaturannya
Modul algoritma OpenSearch membaca input dari parameter kustom yang Anda atur pada permintaan pencarian. Setiap permintaan pencarian dalam topik ini mengikuti pola yang sama: buat objek SearchParams, masukkan parameter ke dalam Map<String, String>, terapkan map tersebut dengan memanggil setCustomParam, lalu jalankan kueri dengan searcherClient.execute. Hanya entri yang dimasukkan ke dalam map yang berbeda antar modul.
Tabel berikut menjelaskan parameter kustom yang digunakan oleh modul algoritma dan permintaan yang membawanya.
| Parameter | Deskripsi | Permintaan |
raw_query |
String kueri pencarian asli. | Permintaan pencarian, sebagai parameter kustom. |
user_id |
Pengidentifikasi pengguna. | Permintaan pencarian sebagai parameter kustom, atau permintaan saran drop-down melalui SuggestParams. |
from_request_id |
ID permintaan dari pencarian sebelumnya. | Permintaan pencarian, sebagai parameter kustom. |
Dua kasus menyimpang dari pola ini. Untuk mengaktifkan istilah pencarian historis, atur user_id pada permintaan saran drop-down melalui SuggestParams, bukan pada permintaan pencarian. Plugin Cava tidak menggunakan parameter kustom sama sekali: Anda mengonfigurasinya pada objek Rank.
Semua contoh kode dalam topik ini merupakan pseudokode. Baris yang ditampilkan sebagai ... mewakili kode yang dihilangkan, termasuk kode yang membuat objek config dan searcherClient.
Analisis query
Analisis query mendukung vektorisasi teks dan pengenalan entitas bernama (NER). Tabel berikut menjelaskan parameter kustom yang diperlukan oleh analisis query.
| Parameter | Wajib | Deskripsi |
raw_query |
Ya | Digunakan oleh model vektorisasi teks dan NER. |
Atur raw_query dalam permintaan pencarian:

...
// Buat objek SearchParams.
SearchParams searchParams = new SearchParams(config);
searchParams.setQuery("default:'OpenSearch'");
// Atur parameter raw_query.
Map<String, String> customParam = new HashMap<>();
customParam.put("raw_query", "OpenSearch");
searchParams.setCustomParam(customParam);
// Jalankan kueri dan kembalikan hasil sebagai objek SearchResult.
SearchResult execute = searcherClient.execute(searchParams);
...
Prediksi kategori
Prediksi kategori menggunakan raw_query untuk melatih model algoritma seperti model prediksi kategori. Tabel berikut menjelaskan parameter kustom yang diperlukan oleh prediksi kategori.
| Parameter | Wajib | Deskripsi |
raw_query |
Ya | Digunakan untuk melatih model prediksi kategori. |
Atur raw_query dalam permintaan pencarian:

...
// Buat objek SearchParams.
SearchParams searchParams = new SearchParams(config);
searchParams.setQuery("default:'apple'");
// Atur parameter raw_query.
Map<String, String> customParam = new HashMap<>();
customParam.put("raw_query", "apple");
searchParams.setCustomParam(customParam);
// Jalankan kueri dan kembalikan hasil sebagai objek SearchResult.
SearchResult execute = searcherClient.execute(searchParams);
...
Saran drop-down
Saran drop-down membaca tiga parameter kustom. Teruskan secara kombinasi tergantung pada kemampuan yang ingin Anda aktifkan.
| Parameter | Wajib | Deskripsi |
raw_query |
Ya | Mengaktifkan kueri frekuensi tinggi dalam saran drop-down. |
from_request_id |
Tidak | Mengoptimalkan model peringkat saran drop-down dan mengaktifkan pelacakan metrik pencarian berbasis saran. |
user_id |
Tidak | Teruskan dalam permintaan pencarian bersama raw_query dan from_request_id untuk mengaktifkan pengurutan cerdas. Teruskan dalam permintaan saran drop-down melalui SuggestParams untuk mengaktifkan istilah pencarian historis. |
Pengurutan cerdas
Untuk mengaktifkan pengurutan cerdas, teruskan raw_query, user_id, dan from_request_id dalam permintaan pencarian:

...
// Buat objek SearchParams.
SearchParams searchParams = new SearchParams(config);
searchParams.setQuery("default:'apple'"); // didorong oleh saran drop-down
// Atur raw_query, user_id, dan from_request_id untuk mengaktifkan pengurutan cerdas.
Map<String, String> customParam = new HashMap<>();
customParam.put("raw_query", "apple");
customParam.put("user_id", "12345");
customParam.put("from_request_id", "159851481919726888064081");
searchParams.setCustomParam(customParam);
// Jalankan kueri dan kembalikan hasil sebagai objek SearchResult.
SearchResult execute = searcherClient.execute(searchParams);
...
Istilah pencarian historis
Istilah pencarian historis bergantung pada dua permintaan: teruskan raw_query dalam permintaan pencarian, dan teruskan user_id dalam permintaan saran drop-down melalui SuggestParams.
...
// Buat objek SearchParams.
SearchParams searchParams = new SearchParams(config);
searchParams.setQuery("default:'apple'"); // didorong oleh saran drop-down
// Atur raw_query dalam permintaan pencarian.
Map<String, String> customParam = new HashMap<>();
customParam.put("raw_query", "apple");
searchParams.setCustomParam(customParam);
// Jalankan kueri dan kembalikan hasil sebagai objek SearchResult.
SearchResult execute = searcherClient.execute(searchParams);
...
// Atur user_id dalam permintaan saran drop-down untuk mengaktifkan istilah pencarian historis.
SuggestParams suggestParams = new SuggestParams();
suggestParams.setUserId("12345");
Pencarian teratas dan petunjuk
Pencarian teratas dan petunjuk menggunakan raw_query untuk melatih model algoritma seperti model pencarian teratas dan model petunjuk. Teruskan from_request_id dan user_id untuk meningkatkan peringkat dan mengumpulkan metrik panduan.
| Parameter | Wajib | Deskripsi |
raw_query |
Ya | Digunakan untuk melatih model pencarian teratas dan petunjuk. |
from_request_id |
Tidak | Meningkatkan peringkat pencarian teratas dan petunjuk serta mengaktifkan pelacakan metrik pencarian berbasis pencarian teratas dan petunjuk. |
user_id |
Tidak | Teruskan bersama from_request_id untuk mengaktifkan pelacakan metrik pencarian berbasis pencarian teratas dan petunjuk. |
Atur parameter dalam permintaan pencarian:

...
// Buat objek SearchParams.
SearchParams searchParams = new SearchParams(config);
searchParams.setQuery("default:'apple'");
// Atur raw_query, user_id, dan from_request_id.
Map<String, String> customParam = new HashMap<>();
customParam.put("raw_query", "apple");
customParam.put("user_id", "12345");
customParam.put("from_request_id", "160851481919726888064913");
searchParams.setCustomParam(customParam);
// Jalankan kueri dan kembalikan hasil sebagai objek SearchResult.
SearchResult execute = searcherClient.execute(searchParams);
...
Plugin Cava
Plugin Cava menerapkan kebijakan peringkat fase kedua kustom melalui skrip Cava. Berbeda dengan modul algoritma lain dalam topik ini, plugin ini tidak menggunakan parameter kustom: atur nama skrip dan jenis pengurutan pada objek Rank, lalu terapkan objek tersebut ke permintaan pencarian.
| Parameter | Wajib | Deskripsi |
| Nama skrip Cava | Ya | Nama skrip Cava yang dipanggil untuk peringkat fase kedua. Atur dengan memanggil setSecondRankName. |
| Jenis pengurutan | Ya | Metode peringkat. Atur ke RankType.CAVA_SCRIPT dengan memanggil setSecondRankType untuk menggunakan peringkat berbasis skrip Cava. |
Konfigurasikan kebijakan peringkat dan terapkan ke permintaan pencarian:

...
// Buat objek SearchParams.
SearchParams searchParams = new SearchParams(config);
...
// Buat objek Rank dan konfigurasikan peringkat berbasis skrip Cava.
Rank rank = new Rank();
rank.setSecondRankName("test_cava");
rank.setSecondRankType(RankType.CAVA_SCRIPT);
// Terapkan kebijakan peringkat ke permintaan pencarian.
searchParams.setRank(rank);