Anda dapat menggunakan kueri rentang untuk menanyakan data dalam rentang tertentu. Jika tipe bidang yang ingin Anda tanyakan adalah TEXT, nilai-nilai bidang tersebut akan dipecah menjadi token. Sebuah baris memenuhi kondisi kueri jika setidaknya salah satu token dalam baris cocok dengan rentang kueri.
Prasyarat
Sebuah instance OTSClient telah diinisialisasi. Untuk informasi lebih lanjut, lihat Inisialisasi instance OTSClient.
Sebuah tabel data telah dibuat dan data telah ditulis ke tabel tersebut. Untuk informasi lebih lanjut, lihat Buat tabel data dan Tulis data.
Indeks pencarian telah dibuat untuk tabel data. Untuk informasi lebih lanjut, lihat Buat indeks pencarian.
Parameter
Parameter | Deskripsi |
GetTotalCount | 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 ke true, performa kueri akan terpengaruh. |
Query | Tipe kueri. Untuk menggunakan kueri rentang, atur parameter ini ke RangeQuery. |
FieldName | Nama bidang yang ingin Anda cocokkan. |
From | Nilai dari mana kueri dimulai. |
To | Nilai di mana kueri berakhir. |
IncludeLower | Menentukan apakah akan menyertakan baris-baris di mana nilai kolom yang ingin Anda cocokkan sama dengan nilai parameter From dalam respons. Tipe nilai dari parameter ini adalah Boolean. |
IncludeUpper | Menentukan apakah akan menyertakan baris-baris di mana nilai kolom yang ingin Anda cocokkan sama dengan nilai parameter To dalam respons. Tipe nilai dari parameter ini adalah Boolean. |
TableName | Nama tabel data. |
IndexName | Nama indeks pencarian. |
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-kolom yang ingin Anda kembalikan. Jika Anda tidak menggunakan metode berikut untuk menentukan kolom-kolom yang ingin Anda kembalikan, hanya kolom kunci utama yang dikembalikan.
Jika Anda mengatur ReturnAll ke true, semua kolom dikembalikan. |
Contoh
Berikut ini adalah contoh kode tentang cara menanyakan baris-baris di mana nilai kolom Long_type_col lebih besar dari atau sama dengan 0 dan kurang dari 6. Dalam contoh ini, jumlah total baris yang memenuhi kondisi kueri dikembalikan.
/// <summary>
/// Cari tabel untuk baris-baris di mana nilai kolom Long_type_col lebih besar dari atau sama dengan 0 dan kurang dari 6.
/// </summary>
/// <param name="otsClient"></param>
public static void RangeQuery(OTSClient otsClient)
{
var searchQuery = new SearchQuery();
// Tentukan bahwa jumlah total baris yang memenuhi kondisi kueri dikembalikan.
searchQuery.GetTotalCount = true;
var rangeQuery = new RangeQuery(Long_type_col, new ColumnValue(0), new ColumnValue(6));
// Tentukan bahwa baris-baris di mana nilai kolom yang ingin Anda cocokkan sama dengan nilai parameter From disertakan dalam respons.
rangeQuery.IncludeLower = true;
searchQuery.Query = rangeQuery;
var request = new SearchRequest(TableName, IndexName, searchQuery);
// Anda dapat mengonfigurasi parameter ColumnsToGet untuk menentukan kolom-kolom yang ingin Anda kembalikan, tentukan bahwa semua kolom dikembalikan, atau tentukan bahwa semua kolom dalam indeks pencarian dikembalikan. Jika Anda tidak mengonfigurasi parameter ini, hanya kolom kunci utama yang dikembalikan.
request.ColumnsToGet = new ColumnsToGet()
{
// Tentukan bahwa semua kolom dalam indeks pencarian dikembalikan.
ReturnAllFromIndex = true
// Tentukan kolom-kolom yang ingin Anda kembalikan.
//Columns = new List<string>() { Long_type_col, Text_type_col, Keyword_type_col }
// Tentukan bahwa semua kolom dikembalikan.
//ReturnAll = true
};
var response = otsClient.Search(request);
Console.WriteLine("Total Count:" + response.TotalCount); // Tentukan bahwa jumlah total baris yang memenuhi kondisi kueri alih-alih jumlah baris yang dikembalikan ditampilkan.
}Pertanyaan Umum
Referensi
Saat menggunakan indeks pencarian untuk menanyakan data, Anda dapat menggunakan metode kueri berikut: kueri tepat, kueri terms, kueri match all, kueri match, kueri match phrase, kueri prefix, kueri rentang, kueri wildcard, kueri Boolean, kueri geo, kueri nested, dan kueri exists. Anda dapat menggunakan metode kueri yang berbeda untuk menanyakan data dari berbagai dimensi sesuai dengan kebutuhan bisnis Anda.
Anda dapat mengurutkan atau membagi halaman baris-baris yang memenuhi kondisi kueri dengan menggunakan fitur Pengurutan dan paging. Untuk informasi lebih lanjut, lihat Pengurutan dan paging.
Anda dapat menggunakan fitur collapse (distinct) untuk meruntuhkan set hasil berdasarkan kolom tertentu. Dengan cara ini, data dari tipe tertentu muncul hanya sekali dalam hasil kueri. Untuk informasi lebih lanjut, lihat Collapse (distinct).
Jika Anda ingin menganalisis data dalam tabel data, Anda dapat menggunakan fitur agregasi operasi Search atau menjalankan pernyataan SQL. Misalnya, Anda dapat memperoleh nilai minimum dan maksimum, jumlah, dan jumlah total baris. Untuk informasi lebih lanjut, lihat Agregasi dan Kueri SQL.
Jika Anda ingin memperoleh semua baris yang memenuhi kondisi kueri tanpa perlu mengurutkan baris-baris tersebut, Anda dapat memanggil operasi ParallelScan dan ComputeSplits untuk menggunakan fitur pemindaian paralel. Untuk informasi lebih lanjut, lihat Pemindaian paralel.