All Products
Search
Document Center

:multi_attr

Last Updated:Aug 22, 2026

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)<1000

Skenario 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.