Klausa kvpairs meneruskan nilai bidang ke bagian yang dapat diubah dalam ekspresi pengurutan saat kueri, sehingga memungkinkan Anda menyediakan nilai ke fungsi fitur tertentu melalui klausa kueri. Alih-alih melakukan hardcoding nilai dalam ekspresi pengurutan, gunakan kvpairs untuk menyediakannya secara dinamis—menjaga logika pengurutan tetap fleksibel dan dapat digunakan ulang di berbagai kueri.
Sintaks
kvpairs=key1:value1,key2:value2,...| Komponen | Pemisah | Deskripsi |
|---|---|---|
key | : (titik dua) | Nama bidang yang dirujuk dalam ekspresi pengurutan |
value | : (titik dua) | Nilai yang diberikan ke bidang tersebut |
| Multiple pairs | , (koma) | Pisahkan beberapa pasangan kunci-nilai dengan koma |
Catatan penggunaan
Klausa kvpairs bersifat opsional.
Contoh
Meneruskan bidang ke klausa distinct
Cari dokumen yang berisi "alibaba". Hasil dikelompokkan berdasarkan company_id—satu dokumen dikembalikan per kelompok, dan sisanya dibuang.
query=default:'alibaba'&&distinct=dist_key:company_id,dist_count:1,dist_times:1,reserved:false&&kvpairs=duniqfield:company_idMeneruskan kondisi match ke fungsi fitur
Cari dokumen yang mengandung "alibaba" menggunakan kondisi pencocokan 13=10:100=1. Ekspresi penyortiran menggunakan fungsi tag_match pada bidang tag INT_ARRAY. Bidang tag tersebut berisi beberapa pasangan atribut.
query_key dalam kvpairs berisi string kondisi pencocokan yang digunakan oleh tag_match untuk mengevaluasi pasangan atribut di bidang tag: nilai untuk atribut yang cocok dijumlahkan, dan jumlah terbesar di antara semua kunci yang cocok dipertahankan.
query=default:'alibaba'&&kvpairs=query_key:13=10:100=1 //Ekspresi penyortiran halus adalah tag_match(query_key, tags, sum, max, true, true).