Exists query, juga dikenal sebagai kueri NULL atau kueri nilai NULL, digunakan pada data sparse untuk menentukan apakah suatu kolom dalam sebuah baris ada atau tidak. Misalnya, Anda dapat mengkueri baris-baris di mana nilai kolom address tidak kosong.
-
Jika ingin melakukan exists query pada kolom Nested, gunakan nested query.
-
Untuk memeriksa apakah suatu kolom berisi nilai kosong, gunakan ExistsQuery bersama dengan mustNotQueries dari BoolQuery.
-
Sistem menganggap suatu kolom tidak ada jika salah satu kondisi berikut terpenuhi. Contoh ini menggunakan kolom city:
-
Tipe kolom city dalam indeks pencarian adalah tipe dasar seperti keyword. Jika terdapat baris di mana kolom city tidak ada dalam tabel data, maka indeks pencarian menganggap kolom tersebut tidak ada.
-
Tipe kolom city dalam indeks pencarian adalah tipe dasar seperti keyword. Jika terdapat baris di mana nilai kolom city berupa array kosong dalam tabel data ("city" = "[]"), maka indeks pencarian menganggap kolom tersebut tidak ada.
-
Prasyarat
-
Instans OTSClient telah diinisialisasi. Untuk informasi selengkapnya, lihat Inisialisasi instans OTSClient.
-
Sebuah tabel data telah dibuat dan data telah ditulis ke tabel tersebut. Untuk informasi lebih lanjut, lihat Membuat tabel data dan Menulis data.
-
Indeks pencarian telah dibuat untuk tabel data tersebut. Untuk informasi selengkapnya, lihat Buat indeks pencarian.
Parameter
|
Parameter |
Deskripsi |
|
fieldName |
Nama bidang yang akan dikueri. |
|
query |
Jenis kueri. Atur parameter ini ke |
|
getTotalCount |
Apakah jumlah total baris yang sesuai dengan kondisi kueri akan dikembalikan. Nilai default: false. Mengatur nilai ini menjadi true akan menurunkan performa kueri. |
|
tableName |
Nama tabel data. |
|
indexName |
Nama indeks pencarian. |
|
columnsToGet |
Kolom-kolom yang akan dikembalikan untuk setiap baris yang cocok.
|
Contoh
Contoh berikut mengkueri baris-baris di mana kolom pic_des tidak kosong.
client.search({
tableName: TABLE_NAME,
indexName: INDEX_NAME,
searchQuery: {
offset: 0,
limit: 10, // Atur limit ke 0 untuk hanya mengembalikan jumlah baris tanpa data.
query: {
queryType: TableStore.QueryType.EXISTS_QUERY,
query: {
fieldName: "pic_des"
},
},
getTotalCount: true // Atur ke true untuk mengembalikan jumlah total baris yang cocok. Nilai default: false.
},
columnToGet: { // RETURN_SPECIFIED: kolom tertentu; RETURN_ALL: semua kolom; RETURN_ALL_FROM_INDEX: semua kolom dalam indeks pencarian; RETURN_NONE: hanya kolom kunci primer.
returnType: TableStore.ColumnReturnType.RETURN_SPECIFIED,
returnNames: ["Col_1", "Col_2", "Col_3"]
}
}, function (err, data) {
if (err) {
console.log('error:', err);
return;
}
console.log('success:', JSON.stringify(data, null, 2));
});
FAQ
Referensi
Indeks pencarian mendukung jenis kueri berikut: term query, terms query, match all query, match query, match phrase query, prefix query, range query, wildcard query, Boolean query, geo query, nested query, vector query, dan exists query. Pilih jenis kueri sesuai kebutuhan bisnis Anda.
Untuk mengurutkan atau menerapkan paginasi pada baris-baris yang memenuhi kondisi kueri, gunakan fitur Pengurutan dan paginasi. Untuk informasi selengkapnya, lihat Pengurutan dan paginasi.
Untuk menciutkan set hasil berdasarkan kolom tertentu, gunakan fitur collapse (distinct), sehingga data dari tipe yang ditentukan hanya muncul sekali dalam hasil kueri. Untuk informasi selengkapnya, lihat Collapse (distinct).
Untuk menganalisis data dalam tabel data—seperti mendapatkan nilai ekstrem, jumlah total, dan jumlah baris—lakukan operasi agregasi atau eksekusi pernyataan SQL. Untuk informasi selengkapnya, lihat Agregasi dan Kueri SQL.
Untuk mendapatkan semua baris yang memenuhi kondisi kueri secara cepat tanpa perlu mengurutkannya, panggil operasi ParallelScan dan ComputeSplits untuk memanfaatkan fitur pemindaian paralel. Untuk informasi selengkapnya, lihat Pemindaian paralel.