Fungsi
Anda dapat menggunakan fungsi plugin dalam klausa `filter` untuk memfilter data, serta fungsi yang mengembalikan nilai numerik dalam klausa `sort` untuk mengurutkan data.
Bidang dokumen yang digunakan sebagai parameter fungsi harus diindeks atau dikonfigurasi sebagai properti.
multi_attr: Mengembalikan nilai pada posisi tertentu dalam bidang array
1. Penggunaan:
multi_attr(field, pos, default_value=0|"")
2. Parameter:
field: Nama bidang yang akan dikueri. Bidang ini harus bertipe ARRAY dan dikonfigurasi sebagai bidang atribut.pos: Konstanta integer atau bidang integer. Jika bidang integer ditentukan, bidang tersebut harus dikonfigurasi sebagai bidang atribut. Indeks dimulai dari 0.default_value (sorting score): Opsional. Konstanta string. Nilai ini dikembalikan jika tidak terdapat nilai pada posisi yang ditentukan.
3. Nilai kembali:
Jika nilai pada posisi `pos` yang ditentukan ada, fungsi mengembalikan nilai tersebut dalam array.
Jika nilai pada posisi `pos` yang ditentukan tidak ada dan parameter `default_value` tidak diatur, fungsi mengembalikan 0.
Jika nilai pada posisi `pos` yang ditentukan tidak ada dan parameter `default_value` diatur, fungsi mengembalikan `default_value`.
4. Skenario:
Skenario 1: Sebuah Produk memiliki beberapa harga, seperti harga pasar, harga diskon, dan harga penjualan, yang disimpan dalam bidang `prices`. Kueri ponsel dengan harga penjualan kurang dari 1000.
query=deault:'phone'&&filter=multi_attr(price,2)<1000Skenario 2: Sebuah Produk memiliki beberapa harga, seperti harga pasar, harga diskon, dan harga penjualan, yang disimpan dalam bidang `prices`. Urutkan hasil kueri secara ascending berdasarkan harga diskon. Jika harga diskon tidak tersedia atau bidang `prices` kosong, gunakan nilai default sebesar 600.
query=default:'mobile phone'&&sort=+multi_attr(price,1,"600")5. Catatan:
Bidang yang digunakan sebagai parameter fungsi harus dikonfigurasi sebagai properti.
Tutup `default_value` dengan tanda kutip ganda.