Anda dapat menggunakan fitur collapse (distinct) untuk menggabungkan set hasil berdasarkan kolom tertentu ketika hasil kueri mencakup sejumlah besar data dari tipe tertentu. Data dari tipe tertentu hanya ditampilkan sekali dalam hasil kueri guna memastikan keragaman tipe hasil.
Prasyarat
Sebuah 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.
Catatan penggunaan
Jika Anda menggunakan fitur collapse (distinct), paginasi hanya dapat dilakukan dengan menentukan parameter offset dan limit.
Jika Anda menggabungkan dan merangkum set hasil secara bersamaan, rangkuman akan diterapkan terlebih dahulu sebelum penggabungan.
Jika Anda menggabungkan hasil kueri, jumlah total hasil yang dikembalikan ditentukan oleh nilai parameter offset dan limit. Maksimum 100.000 hasil dapat dikembalikan.
Jumlah total baris dalam respons menunjukkan jumlah baris yang memenuhi kondisi kueri sebelum menerapkan fitur collapse (distinct). Setelah set hasil digabungkan, jumlah total nilai unik tidak dapat diquery.
Parameter
Parameter | Deskripsi |
query | Tipe kueri. Anda dapat menyetel parameter ini ke tipe kueri apa pun. |
collapse | Menggabungkan set hasil berdasarkan bidang yang ditentukan oleh parameter fieldName. fieldName: nama bidang berdasarkan mana set hasil digabungkan. Hanya bidang dengan nilai bertipe INTEGER, FLOATING-POINT, atau KEYWORD yang didukung. Bidang dengan nilai bertipe ARRAY tidak didukung. |
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 menanyakan data spesifik dari baris, atur parameter limit ke 0. |
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 menyetel parameter ini ke true, kinerja kueri akan terpengaruh. |
tableName | Nama tabel data. |
indexName | Nama indeks pencarian. |
columnsToGet | Menentukan apakah akan mengembalikan semua kolom dari setiap baris yang memenuhi kondisi kueri.
|
Contoh
Berikut ini adalah contoh kode sampel tentang cara menggunakan kueri match all untuk menanyakan jumlah total baris dalam tabel dan menggabungkan set hasil berdasarkan nilai kolom col_keyword:
let searchQuery = {
offset: 0,
limit: 100,
query: {
queryType: TableStore.QueryType.MATCH_ALL_QUERY,
},
collapse: {
fieldName: "col_keyword",
},
getTotalCount: false,
};
let params = {
tableName: tableName,
indexName: indexName,
searchQuery: searchQuery,
columnToGet: { // Tentukan kolom yang ingin Anda kembalikan. Anda dapat menyetel 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_FROM_INDEX
},
timeoutMs: 30000,
}
client.search(params, function (err, data) {
if (err) {
console.log('kesalahan pencarian:', err.toString());
} else {
console.log('pencarian berhasil:', data);
}
});FAQ
Referensi
Indeks pencarian mendukung tipe kueri berikut: 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. Pilih tipe kueri sesuai dengan kebutuhan bisnis Anda.
Untuk mengurutkan atau membagi halaman baris yang memenuhi kondisi kueri, gunakan fitur Pengurutan dan paging. Untuk informasi lebih lanjut, lihat Pengurutan dan paging.
Untuk menggabungkan 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 data, seperti mendapatkan nilai ekstrem, jumlah total, dan jumlah total 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, panggil operasi ParallelScan dan ComputeSplits untuk menggunakan fitur pemindaian paralel. Untuk informasi lebih lanjut, lihat Pemindaian paralel.