Saat melakukan kueri wildcard, Anda dapat menggunakan karakter asterisk (*) dan tanda tanya (?) untuk mencari data. Asterisk (*) cocok dengan string dengan panjang berapa pun di awal, tengah, atau akhir istilah pencarian. Tanda tanya (?) cocok dengan satu karakter pada posisi tertentu. String dapat dimulai dengan asterisk (*) atau tanda tanya (?). Sebagai contoh, jika Anda mencari string "table*e", hasil seperti "tablestore" akan cocok.
Prasyarat
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 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. |
queryType | Tipe kueri. Atur parameter ini ke TableStore.QueryType.WILDCARD_QUERY. |
fieldName | Nama kolom yang ingin Anda kueri. |
value | String yang mengandung karakter wildcard. Panjang string bisa hingga 32 karakter. |
getTotalCount | Menentukan apakah akan mengembalikan jumlah total baris yang memenuhi kondisi kueri. Secara default, nilai parameter ini adalah false, yang menunjukkan bahwa jumlah total baris yang memenuhi kondisi kueri tidak dikembalikan. Jika Anda mengatur parameter getTotalCount 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 kode sampel untuk mencari baris di mana nilai Col_Keyword cocok dengan string "table*e".
/**
* Cari tabel untuk baris di mana nilai Col_Keyword cocok dengan "table*e".
*/
client.search({
tableName: TABLE_NAME,
indexName: INDEX_NAME,
searchQuery: {
offset: 0,
limit: 10, // Untuk hanya menanyakan jumlah baris yang memenuhi kondisi kueri tanpa mengembalikan data spesifik, Anda dapat mengatur limit ke 0. Dengan cara ini, Tablestore mengembalikan jumlah baris yang memenuhi kondisi kueri tanpa data spesifik dari tabel.
query: { // Atur tipe kueri ke TableStore.QueryType.WILDCARD_QUERY.
queryType: TableStore.QueryType.WILDCARD_QUERY,
query: {
fieldName: "Col_Keyword",
value: "table*e" // Tentukan string yang mengandung satu atau lebih karakter wildcard dalam kueri wildcard.
}
},
getTotalCount: true // Tentukan apakah akan mengembalikan jumlah total baris yang memenuhi kondisi kueri. Nilai default dari parameter ini adalah false, yang menunjukkan bahwa jumlah total baris yang memenuhi kondisi kueri tidak dikembalikan.
},
columnToGet: { // Tentukan kolom yang ingin Anda kembalikan. Anda dapat mengatur parameter ini ke RETURN_SPECIFIED untuk mengembalikan 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
Referensi
Berikut adalah tipe-tipe kueri yang didukung oleh indeks pencarian: kueri tepat, kueri terms, kueri match all, kueri match, kueri match phrase, kueri prefix, kueri range, kueri wildcard, kueri Boolean, kueri geo, kueri nested, kueri vector, dan kueri exists. Anda dapat memilih tipe kueri sesuai dengan kebutuhan bisnis Anda.
Jika ingin mengurutkan atau membagi halaman baris yang memenuhi kondisi kueri, Anda dapat menggunakan fitur pengurutan dan paging. Untuk informasi lebih lanjut, lihat Pengurutan dan paging.
Jika ingin menggabungkan set hasil berdasarkan kolom tertentu, Anda dapat menggunakan fitur collapse (distinct). Dengan cara ini, data dari tipe yang ditentukan muncul hanya sekali dalam hasil kueri. Untuk informasi lebih lanjut, lihat Collapse (distinct).
Jika ingin menganalisis data dalam tabel, seperti mendapatkan nilai ekstrem, jumlah, dan total jumlah baris, Anda dapat melakukan operasi agregasi atau menjalankan pernyataan SQL. Untuk informasi lebih lanjut, lihat Agregasi dan Kueri SQL.
Jika ingin dengan cepat 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.