Anda dapat menggunakan kueri rentang untuk menanyakan data dalam rentang tertentu. Jika tipe kolom adalah TEXT, nilai-nilai kolom akan dipecah menjadi token. Sebuah baris memenuhi kondisi kueri jika setidaknya salah satu token cocok dengan rentang yang ditentukan.
Prasyarat
Instance OTSClient telah diinisialisasi. Untuk informasi lebih lanjut, lihat Inisialisasi instance OTSClient.
Tabel data telah dibuat dan data telah dimasukkan 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 |
tableName | Nama tabel data. |
indexName | Nama indeks pencarian. |
offset | Posisi dari mana kueri saat ini dimulai. |
limit | Jumlah maksimum baris yang ingin Anda kembalikan dalam kueri saat ini. Untuk hanya menanyakan jumlah baris yang memenuhi kondisi kueri tanpa data spesifik, atur parameter limit ke 0. |
queryType | Tipe kueri. Untuk menggunakan kueri rentang, atur parameter ini ke TableStore.QueryType.RANGE_QUERY. |
fieldName | Nama kolom yang ingin Anda cocokkan. |
rangeFrom | Nilai dari mana kueri dimulai. |
rangeTo | Nilai di mana kueri berakhir. |
includeLower | Menentukan apakah akan menyertakan nilai rangeFrom dalam respons. Tipe nilainya adalah Boolean. |
includeUpper | Menentukan apakah akan menyertakan nilai rangeTo dalam respons. Tipe nilainya adalah Boolean. |
getTotalCount | Menentukan apakah akan mengembalikan jumlah total baris yang memenuhi kondisi kueri. Nilai default: false. Jika Anda mengatur parameter ini ke true, performa kueri akan terpengaruh. |
columnToGet | Menentukan apakah akan mengembalikan semua kolom dari setiap baris yang memenuhi kondisi kueri. Anda dapat mengonfigurasi returnType dan returnNames untuk parameter ini.
|
Contoh
Berikut adalah contoh kode untuk menanyakan baris-baris di mana nilai kolom Col_Long lebih besar dari atau sama dengan 1 dan kurang dari 10 dalam sebuah tabel. Baris-baris yang memenuhi kondisi kueri dikembalikan dalam urutan menurun berdasarkan nilai kolom Col_Long.
/**
* Cari tabel untuk baris-baris di mana nilai kolom Col_Long berkisar antara 1 hingga 10, dan rentang tersebut mencakup 1 tetapi tidak termasuk 10. Tablestore mengurutkan baris-baris ini berdasarkan nilai kolom Col_Long secara menurun.
*/
client.search({
tableName: TABLE_NAME,
indexName: INDEX_NAME,
searchQuery: {
offset: 0,
limit: 10, // Untuk hanya menanyakan jumlah baris yang memenuhi kondisi kueri tanpa data spesifik, atur parameter limit ke 0.
query: { // Atur tipe kueri ke TableStore.QueryType.RANGE_QUERY.
queryType: TableStore.QueryType.RANGE_QUERY,
query: {
fieldName: "Col_Long",
rangeFrom: 1,
includeLower: true, // Sertakan nilai rangeFrom dalam rentang.
rangeTo: 10,
includeUpper: false // Kecualikan nilai rangeTo dari rentang.
}
},
getTotalCount: true // Tentukan apakah akan mengembalikan jumlah total baris yang memenuhi kondisi kueri. Nilai default: false.
},
columnToGet: { // Tentukan kolom-kolom yang ingin Anda kembalikan. Anda dapat mengatur parameter ini ke RETURN_SPECIFIED untuk mengembalikan kolom-kolom tertentu, RETURN_ALL untuk mengembalikan semua kolom, RETURN_ALL_FROM_INDEX untuk mengembalikan semua kolom dalam indeks pencarian, atau RETURN_NONE untuk mengembalikan hanya kolom kunci utama.
returnType: TableStore.ColumnReturnType.RETURN_ALL
}
}, function (err, data) {
if (err) {
console.log('error:', err);
return;
}
console.log('success:', JSON.stringify(data, null, 2));
});FAQ
FAQ
Referensi
Berikut ini adalah tipe-tipe kueri yang didukung oleh indeks pencarian: kueri tepat, kueri terms, kueri match all, kueri match, kueri match phrase, kueri prefix, kueri rentang, kueri wildcard, kueri Boolean, kueri geo, kueri nested, kueri vector, dan kueri exists. Anda dapat memilih tipe kueri sesuai dengan kebutuhan bisnis Anda.
Untuk mengurutkan atau membagi halaman baris-baris yang memenuhi kondisi kueri, gunakan fitur pengurutan dan paging. Untuk informasi lebih lanjut, lihat Pengurutan dan paging.
Untuk meruntuhkan set hasil berdasarkan kolom tertentu, gunakan fitur collapse (distinct). Dengan cara ini, data dari tipe tertentu hanya muncul sekali dalam hasil kueri. Untuk informasi lebih lanjut, lihat Collapse (distinct).
Untuk menganalisis data dalam tabel, seperti mendapatkan nilai ekstrem, jumlah, dan total jumlah baris, gunakan operasi agregasi atau jalankan pernyataan SQL. Untuk informasi lebih lanjut, lihat Agregasi dan Kueri SQL.
Untuk mendapatkan semua baris yang memenuhi kondisi kueri tanpa perlu mengurutkan baris-baris tersebut, panggil operasi ParallelScan dan ComputeSplits untuk menggunakan fitur pemindaian paralel. Untuk informasi lebih lanjut, lihat Pemindaian paralel.