Exists query, juga dikenal sebagai kueri NULL atau kueri nilai NULL, digunakan pada data sparse untuk menentukan apakah suatu kolom dalam baris tertentu ada atau tidak. Misalnya, Anda dapat mengkueri baris-baris yang kolom address-nya tidak kosong.
-
Untuk menjalankan exists query pada kolom Nested, gunakan nested query.
-
Untuk memeriksa apakah suatu kolom berisi nilai kosong, gunakan ExistsQuery bersamaan dengan mustNotQueries dari BoolQuery.
-
Sistem menganggap suatu kolom tidak ada jika salah satu kondisi berikut terpenuhi. Dalam contoh ini, kolom city digunakan.
-
Tipe kolom city dalam search index adalah tipe dasar seperti keyword. Jika terdapat baris yang kolom city-nya tidak ada di tabel data, maka search index menganggap kolom city tersebut tidak ada.
-
Tipe kolom city dalam search index adalah tipe dasar seperti keyword. Jika terdapat baris yang nilai kolom city-nya berupa array kosong di tabel data ("city" = "[]"), maka search index menganggap kolom city tersebut tidak ada.
-
Prasyarat
-
Instans OTSClient telah diinisialisasi. Untuk informasi selengkapnya, lihat Initialize an OTSClient instance.
-
Sebuah tabel data telah dibuat dan data telah ditulis ke tabel tersebut. Untuk informasi selengkapnya, lihat Membuat tabel data dan Menulis data.
-
Search index telah dibuat untuk tabel data. Untuk informasi selengkapnya, lihat Create search indexes.
Parameter
|
Parameter |
Deskripsi |
|
TableName |
Nama tabel data. |
|
IndexName |
Nama search index. |
|
Query |
Jenis kueri. Atur parameter ini ke |
|
GetTotalCount |
Apakah jumlah total baris yang sesuai dengan kondisi kueri akan dikembalikan atau tidak. Nilai default: |
|
FieldName |
Nama bidang yang akan dikueri. |
|
ColumnsToGet |
Apakah semua kolom dari setiap baris yang cocok akan dikembalikan atau tidak. Nilai yang didukung: Secara default,
Atur |
Contoh
Contoh berikut mengkueri baris-baris yang kolom pk0-nya tidak kosong.
/// <summary>
/// Jalankan exists query untuk mengkueri baris-baris yang nilai kolom pk0-nya 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 search index untuk mengkueri data, Anda dapat menggunakan metode 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, dan exists query. Anda dapat menggunakan berbagai metode kueri ini untuk mengkueri data dari berbagai dimensi sesuai kebutuhan bisnis Anda.
Anda dapat mengurutkan atau melakukan paginasi pada baris-baris yang memenuhi kondisi kueri dengan menggunakan fitur pengurutan dan paginasi. Untuk informasi selengkapnya, lihat Sorting and paging.
Anda dapat menggunakan fitur collapse (distinct) untuk menciutkan set hasil berdasarkan kolom tertentu sehingga data jenis tertentu hanya muncul sekali dalam hasil kueri. Untuk informasi selengkapnya, lihat Collapse (distinct).
Untuk menganalisis data dalam tabel data, Anda dapat menggunakan fitur agregasi dari operasi Search atau mengeksekusi pernyataan SQL, seperti memperoleh nilai minimum dan maksimum, jumlah total, serta jumlah baris. Untuk informasi selengkapnya, lihat Aggregation dan SQL query.
Untuk memperoleh semua baris yang memenuhi kondisi kueri tanpa perlu mengurutkannya, Anda dapat memanggil operasi ParallelScan dan ComputeSplits untuk menggunakan fitur pemindaian paralel. Untuk informasi selengkapnya, lihat Parallel scan.