Terms query mencocokkan baris yang nilai bidangnya sama persis dengan salah satu dari beberapa kata kunci yang ditentukan. Kueri ini setara dengan operator IN dalam SQL dan merupakan perluasan dari term query berbasis satu kata kunci untuk mendukung beberapa kata kunci.
Prasyarat
-
Instans OTSClient telah diinisialisasi. Untuk informasi selengkapnya, lihat Initialize an OTSClient instance.
-
Tabel data telah dibuat dan data telah ditulis ke dalamnya. Untuk informasi selengkapnya, lihat Create data tables dan Write data.
-
Indeks pencarian telah dibuat untuk tabel data tersebut. Untuk informasi selengkapnya, lihat Create search indexes.
Parameter
|
Parameter |
Deskripsi |
|
TableName |
Nama tabel data. |
|
IndexName |
Nama indeks pencarian. |
|
Query |
Jenis kueri. Atur ke |
|
FieldName |
Nama bidang yang akan dicocokkan. |
|
Terms |
Kata kunci yang akan dicocokkan terhadap nilai bidang. Baris dikembalikan jika nilai bidangnya sama persis dengan minimal satu kata kunci. |
|
Limit |
Jumlah maksimum baris yang akan dikembalikan. Atur ke |
|
ColumnsToGet |
Kolom yang akan dikembalikan untuk setiap baris yang cocok. Konfigurasikan menggunakan Secara default,
Atur |
Contoh
Contoh berikut melakukan kueri terhadap baris yang nilai Col_Keyword sama persis dengan "SearchIndex" atau "Sample":
/// <summary>
/// Cari tabel untuk baris yang nilai kolom Col_Keyword sama persis dengan "SearchIndex" atau "Sample".
/// </summary>
/// <param name="otsClient"></param>
public static void TermsQuery(OTSClient otsClient)
{
TermsQuery termsQuery = new TermsQuery();
termsQuery.FieldName = "Col_Keyword";
termsQuery.Terms = new List<ColumnValue>
{
new ColumnValue("SearchIndex"),
new ColumnValue("Sample")
};
SearchQuery searchQuery = new SearchQuery();
searchQuery.Query = termsQuery;
SearchRequest searchRequest = new SearchRequest(TableName, IndexName, searchQuery);
// Tentukan kolom yang akan dikembalikan: berdasarkan indeks pencarian, berdasarkan nama, atau semua kolom.
// Jika tidak ditentukan, hanya kolom kunci primer yang dikembalikan.
searchRequest.ColumnsToGet = new ColumnsToGet
{
// Kembalikan semua kolom dalam indeks pencarian.
ReturnAllFromIndex = true
// Kembalikan kolom tertentu berdasarkan nama.
//Columns = new List<string>() { Long_type_col, Text_type_col, Keyword_type_col }
// Kembalikan semua kolom dalam tabel data.
//ReturnAll = true
};
SearchResponse searchResponse = otsClient.Search(searchRequest);
Console.WriteLine(JsonConvert.SerializeObject(searchResponse));
}
FAQ
Referensi
Saat menggunakan indeks pencarian 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 metode kueri yang berbeda untuk mengkueri data dari berbagai dimensi sesuai kebutuhan bisnis Anda.
Anda dapat mengurutkan atau menerapkan pagination pada baris yang memenuhi kondisi kueri dengan menggunakan fitur pengurutan dan paging. 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).
Jika ingin 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.
Jika ingin 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.