TairSearch adalah struktur data internal untuk pencarian teks lengkap dan menggunakan sintaksis yang mirip dengan Elasticsearch. Topik ini menjelaskan cara menggunakan kueri bool di TairSearch untuk mengimplementasikan kueri majemuk.
Sintaksis
TairSearch mendukung jenis klausa berikut untuk kueri bool:
must: menentukan elemen-elemen yang diperlukan agar dokumen dapat dikembalikan. Semantik klausa ini mirip dengan semantik
AND.must_not: menentukan elemen-elemen yang tidak boleh terkandung dalam dokumen yang akan dikembalikan. Semantik klausa ini mirip dengan semantik
NOT.should: menentukan elemen-elemen yang bersifat opsional agar dokumen dapat dikembalikan. Semantik klausa ini mirip dengan semantik
OR. Anda dapat menggunakan parameter minimum_should_match bersama dengan klausa ini untuk menentukan jumlah minimum klausa should yang harus dipenuhi oleh dokumen yang akan dikembalikan. Jika kueri bool hanya berisi klausa should, parameter ini disetel ke 1. Jika kueri bool juga berisi klausa must atau must_not, parameter ini disetel ke 0.Jika sebuah dokumen cocok dengan kedua klausa must dan should, skor dokumen tersebut meningkat sebagai hasil dari beberapa kecocokan. Hal ini mempengaruhi peringkat dokumen tersebut dalam hasil.
Prioritas klausa-klausa ini dalam kueri bool adalah must_not > must > should. Selain itu, pernyataan bool atau pernyataan lainnya dapat disarangkan di dalam pernyataan bool untuk mengimplementasikan kueri majemuk. Untuk informasi lebih lanjut tentang TairSearch, lihat Pencarian.
Contoh kode
Buat indeks.
TFT.CREATEINDEX key '{ "mappings": { "properties": { "A": { "type": "keyword" }, "B": { "type": "keyword" }, "C": { "type": "keyword" } } } }'Tambahkan data dokumen.
TFT.ADDDOC key '{ "A": "a", "B": "b", "C": "c" }'Kueri data.