Kueri exists, juga dikenal sebagai kueri NULL atau kueri nilai-NULL, digunakan dalam data yang jarang untuk menentukan apakah kolom dari suatu baris ada. Sebagai contoh, Anda dapat memfilter baris di mana nilai kolom alamat tidak kosong.
Untuk melakukan kueri exists pada kolom Nested, gunakan kueri nested.
Untuk memeriksa apakah kolom berisi nilai kosong, gunakan ExistsQuery bersama dengan mustNotQueries dari BoolQuery.
Jika salah satu kondisi berikut terpenuhi, sistem menganggap bahwa kolom tidak ada. Contoh ini menggunakan kolom city.
Tipe kolom city dalam indeks pencarian adalah tipe dasar seperti keyword. Jika sebuah baris tidak memiliki kolom city dalam tabel data, indeks pencarian menganggap bahwa kolom city tidak ada.
Tipe kolom city dalam indeks pencarian adalah tipe dasar seperti keyword. Jika sebuah baris memiliki nilai kolom city sebagai array kosong ("city" = "[]"), indeks pencarian menganggap bahwa kolom city tidak ada.
Prasyarat
Sebuah instance OTSClient telah diinisialisasi. Untuk informasi lebih lanjut, lihat Inisialisasi instance OTSClient.
Tabel data telah dibuat dan data telah ditulis ke tabel tersebut. Untuk informasi lebih lanjut, lihat Create data tables dan Write data.
Indeks pencarian telah dibuat untuk tabel data. Untuk informasi lebih lanjut, lihat Buat indeks pencarian.
Parameter
Parameter | Deskripsi |
NamaTabel | Nama tabel data. |
NamaIndeks | Nama indeks pencarian. |
Kueri | Tipe kueri. Atur parameter ini menjadi existsQuery. |
DapatkanTotalHitungan | Menentukan apakah akan mengembalikan jumlah total baris yang memenuhi kondisi kueri. Nilai default dari parameter ini adalah false, yang menentukan bahwa jumlah total baris yang memenuhi kondisi kueri tidak dikembalikan. Jika Anda mengatur parameter ini menjadi true, performa kueri akan terpengaruh. |
NamaBidang | Nama bidang yang ingin Anda kueri. |
ColumnsToGet | Menentukan apakah akan mengembalikan semua kolom dari setiap baris yang memenuhi kondisi kueri. Anda dapat mengonfigurasi ReturnAll, Columns, dan ReturnAllFromIndex untuk parameter ini. Nilai default dari ReturnAll adalah false, yang menentukan bahwa tidak semua kolom dikembalikan. Anda dapat menggunakan salah satu metode berikut untuk menentukan kolom yang ingin Anda kembalikan. Jika Anda tidak menggunakan metode berikut untuk menentukan kolom yang ingin Anda kembalikan, hanya kolom kunci utama yang dikembalikan.
Jika Anda mengatur ReturnAll menjadi true, semua kolom dikembalikan. |
Contoh
Berikut adalah kode sampel yang menunjukkan cara memfilter baris di mana kolom tertentu tidak kosong:
/// <summary>
/// Lakukan kueri exists untuk memfilter baris di mana nilai kolom pk0 tidak kosong.
/// </summary>
/// <param name="otsClient"></param>
public static void ExistsQuery(OTSClient otsClient)
{
ExistsQuery existsQuery = new ExistsQuery
{
FieldName = "pk0"
};
SearchQuery searchQuery = new SearchQuery
{
Query = existsQuery,
GetTotalCount = false
};
SearchRequest searchRequest = new SearchRequest(TableName, IndexName, searchQuery);
SearchResponse searchResponse = otsClient.Search(searchRequest);
Console.WriteLine(JsonConvert.SerializeObject(searchResponse));
}FAQ
Referensi
Saat menggunakan indeks pencarian untuk memfilter data, Anda dapat menggunakan metode kueri berikut: kueri tepat, kueri terms, kueri match all, kueri match, kueri match phrase, kueri prefix, kueri range, kueri wildcard, kueri Boolean, kueri geo, kueri nested, dan kueri exists. Metode kueri ini dapat digunakan untuk memfilter data dari beberapa dimensi sesuai kebutuhan bisnis Anda.
Anda dapat mengurutkan atau membagi halaman baris yang memenuhi kondisi kueri menggunakan fitur pengurutan dan paging. Untuk informasi lebih lanjut, lihat Pengurutan dan paging.
Fitur collapse (distinct) dapat digunakan untuk menciutkan set hasil berdasarkan kolom tertentu, sehingga data dari tipe tertentu hanya muncul sekali dalam hasil kueri. Untuk informasi lebih lanjut, lihat Collapse (distinct).
Untuk menganalisis data dalam tabel data, Anda dapat menggunakan fitur agregasi dari operasi Search atau menjalankan pernyataan SQL. Sebagai contoh, Anda dapat memperoleh nilai minimum, maksimum, jumlah, dan total jumlah baris. Untuk informasi lebih lanjut, lihat Agregasi dan Kueri SQL.
Untuk mendapatkan semua baris yang memenuhi kondisi kueri tanpa perlu mengurutkan baris, Anda dapat memanggil operasi ParallelScan dan ComputeSplits untuk menggunakan fitur pemindaian paralel. Untuk informasi lebih lanjut, lihat Pemindaian paralel.