Kueri awalan (PrefixQuery) menemukan baris dalam indeks pencarian yang nilai bidangnya diawali dengan string tertentu.
Prasyarat
-
Instans OTSClient telah diinisialisasi. Untuk informasi selengkapnya, lihat Inisialisasi instans OTSClient.
-
Tabel data telah dibuat dan data telah ditulis ke tabel tersebut. Untuk informasi selengkapnya, lihat Membuat tabel data dan Menulis data.
-
Indeks pencarian telah dibuat untuk tabel data tersebut. Untuk informasi selengkapnya, lihat Buat indeks pencarian.
Parameter
|
Parameter |
Deskripsi |
|
tableName |
Nama tabel data. |
|
indexName |
Nama indeks pencarian. |
|
offset |
Posisi awal kueri saat ini. |
|
limit |
Jumlah maksimum baris yang ingin dikembalikan oleh kueri saat ini. Untuk hanya menghitung jumlah baris yang memenuhi kondisi kueri tanpa mengambil data spesifik, atur parameter limit ke 0. |
|
queryType |
Jenis kueri. Atur parameter ini ke TableStore.QueryType.PREFIX_QUERY. |
|
fieldName |
Nama kolom yang ingin Anda kueri. |
|
prefix |
Awalan yang digunakan untuk mencocokkan nilai kolom saat melakukan kueri awalan. Jika tipe kolom adalah TEXT, Tablestore melakukan tokenisasi string dan menggunakan token-token tersebut untuk mencocokkan kata kunci. Suatu baris memenuhi kondisi kueri jika setidaknya salah satu token dalam baris tersebut sesuai dengan awalan yang ditentukan. |
|
getTotalCount |
Menentukan apakah jumlah total baris yang memenuhi kondisi kueri akan dikembalikan. Nilai default parameter ini adalah false, yang berarti jumlah total baris tidak dikembalikan. Jika Anda mengatur parameter ini ke true, performa kueri akan menurun. |
|
columnToGet |
Menentukan apakah semua kolom dari setiap baris yang memenuhi kondisi kueri akan dikembalikan. Anda dapat mengonfigurasi field returnType dan returnNames untuk parameter ini.
|
Contoh
Kode contoh berikut menunjukkan cara mengkueri baris-baris yang nilai kolom Col_Keyword-nya diawali dengan "hang":
/**
* Cari tabel untuk baris-baris di mana nilai Col_Keyword mengandung awalan "hang", seperti "hangzhou".
*/
client.search({
tableName: TABLE_NAME,
indexName: INDEX_NAME,
searchQuery: {
offset: 0,
limit: 10, // Untuk hanya menghitung jumlah baris yang memenuhi kondisi kueri tanpa mengambil data spesifik, atur parameter limit ke 0.
query: { // Atur jenis kueri ke TableStore.QueryType.PREFIX_QUERY.
queryType: TableStore.QueryType.PREFIX_QUERY,
query: {
fieldName: "Col_Keyword",
prefix: "hang" // Atur awalan ke "hang" untuk mencocokkan nilai kolom seperti "hangzhou" atau "hangzhoushi".
}
},
getTotalCount: true // Tentukan apakah jumlah total baris yang memenuhi kondisi kueri akan dikembalikan. Nilai default parameter ini adalah false, yang berarti jumlah total baris tidak dikembalikan.
},
columnToGet: { // Tentukan kolom yang ingin dikembalikan. Anda dapat mengatur parameter 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 hanya mengembalikan kolom kunci primer.
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
Jenis kueri berikut didukung oleh indeks pencarian: kueri tepat, kueri istilah, Pencocokan semua kueri, kueri cocok, permintaan pencocokan frasa, kueri awalan, kueri rentang, kueri wildcard, kueri Boolean, kueri geografis, kueri bersarang, kueri vektor, dan kueri exists. Anda dapat memilih jenis kueri sesuai kebutuhan bisnis Anda.
Jika Anda ingin mengurutkan atau menerapkan paginasi pada baris-baris yang memenuhi kondisi kueri, Anda dapat menggunakan fitur pengurutan dan paginasi. Untuk informasi selengkapnya, lihat Pengurutan dan paginasi.
Jika Anda ingin menciutkan set hasil berdasarkan kolom tertentu, Anda dapat menggunakan fitur collapse (distinct). Dengan cara ini, data dari tipe yang ditentukan hanya muncul sekali dalam hasil kueri. Untuk informasi selengkapnya, lihat Collapse (distinct).
Jika Anda ingin menganalisis data dalam tabel data, seperti mendapatkan nilai ekstrem, jumlah total, dan jumlah baris, Anda dapat melakukan operasi agregasi atau mengeksekusi pernyataan SQL. Untuk informasi selengkapnya, lihat Agregasi dan Kueri SQL.
Jika Anda ingin dengan cepat mendapatkan 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 Pemindaian paralel.