All Products
Search
Document Center

OpenSearch:klausa query

Last Updated:Jun 26, 2025

Deskripsi klausa

Klausa query merupakan elemen penting dalam kueri pencarian. Klausa ini mendefinisikan konten spesifik yang akan di-query berdasarkan bidang indeks tertentu. Anda dapat menentukan beberapa kondisi query dan menghubungkannya menggunakan operator logis seperti AND, OR, ANDNOT, dan RANK.

Sebagai contoh, Anda dapat menggabungkan bidang title dan subject bertipe TEXT untuk membuat bidang indeks komposit default. Kemudian, Anda dapat melakukan pencarian berdasarkan bidang indeks default untuk mengambil dokumen di mana bidang title atau subject berisi kueri pencarian.

Anda juga dapat menggunakan hanya bidang title untuk membuat bidang indeks title_search. Saat melakukan pencarian berdasarkan bidang indeks title_search, hanya dokumen dengan bidang title yang berisi kueri pencarian yang akan diambil.

Sintaksis

Kondisi query dapat digunakan dalam format berikut:

Query umum: index: 'Kueri pencarian' ^ boost

Pencarian rentang: index:'circle (Longitude, Latitude, Radius)'

Pencarian rentang: index:[Nilai numerik 1, Nilai numerik 2]

  • Bidang indeks: Informasi indeks yang dikonfigurasi saat mendefinisikan skema indeks. Bidang indeks digunakan untuk mencari dokumen di mana bidang sumber dari bidang indeks yang ditentukan berisi kueri pencarian.

  • Kueri pencarian: Konten yang ingin dicari.

  • boost: Bobot yang ditentukan untuk kueri pencarian. Nilai parameter ini harus bertipe INT dengan rentang valid [0,99]. Jika tidak disetel, nilai defaultnya adalah 99. Parameter ini opsional dan hanya berlaku jika fungsi exact_match_boost() dikonfigurasi dalam ekspresi pengurutan kasar.

  • Anda dapat menentukan beberapa kondisi query dan mengaitkannya menggunakan operator logis berikut: (),AND,OR,ANDNOT,dan RANK. Semua operator ini harus huruf besar. Prioritas operator diurutkan sebagai berikut: RANK<OR<AND<ANDNOT<().

  • Kueri pencarian yang dilingkupi tanda kutip ganda ("") adalah kueri frasa. Dalam kueri frasa, semua suku kata terhubung dan disusun dalam urutan yang sama sebelum dan sesudah analisis.

  • Pencarian rentang digunakan untuk analisis lokasi geografis dan analisis numerik. Untuk informasi lebih lanjut, lihat Pencarian rentang.

Catatan penggunaan

  • Klausa query wajib dan tidak boleh kosong.

  • Kueri pencarian harus dilingkupi tanda kutip tunggal (') atau tanda kutip ganda (""). Jika tidak, kesalahan query akan dikembalikan atau hasil query yang tidak terduga akan muncul.

  • Hanya bidang bertipe TEXT dan SHORT_TEXT yang dapat digabungkan untuk membuat indeks komposit.

  • Jika nilai boost kurang dari 0, maka 0 yang digunakan. Jika nilai boost lebih dari 99, maka 99 yang digunakan.

  • Untuk informasi lebih lanjut tentang arti berbagai pencarian, lihat Analyzer bawaan.

Contoh

  1. Cari dokumen yang judulnya berisi "Peking University":

    query=title: 'Peking University'
  2. Cari dokumen yang judulnya berisi "Peking University" dan "Zhejiang University":

    query=title: 'Peking University' AND title: 'Zhejiang University'
  3. Cari dokumen yang judulnya berisi "Peking University" atau "Zhejiang University" dan di mana parameter type diatur ke "1":

    query=(title: 'Peking University' OR title: 'Zhejiang University') AND type:'1'
  4. Cari dokumen yang judulnya berisi "Peking University" atau "Zhejiang University". Dalam contoh ini, sintaksis OR disajikan dalam bentuk lain.

    query=title: 'Peking University'|'Zhejiang University'
  5. Cari dokumen yang judulnya berisi Peking University tetapi tidak Tsinghua. Dokumen yang judulnya berisi Principal diurutkan di depan.

    query=(title:'Peking University' ANDNOT title:'Tsinghua') RANK title: 'Principal'
    // Ekspresi pengurutan halus: text_relevance(title)
  6. Cari dokumen yang judulnya berisi Peking University. Peking University tidak dapat dipecah menjadi beberapa suku kata dan dokumen yang berisi suku kata serupa seperti "University in Beijing" tidak dikembalikan.

    query=title: 'Peking University'
  7. Lakukan pencarian berdasarkan bidang indeks bertipe ARRAY.

    // Bidang bertipe INT ARR digunakan sebagai indeks arr_index_1.
    // Ambil dokumen di mana nilai indeks arr_index_1 adalah 1.
    query=arr_index_1:'1'