Gunakan fitur collapse (distinct) untuk menggabungkan set hasil berdasarkan kolom tertentu ketika hasil kueri mencakup sejumlah besar data dari tipe tertentu. Data dari tipe tersebut hanya ditampilkan sekali dalam hasil kueri, memastikan keberagaman jenis hasil.
Dalam banyak skenario, Anda dapat menggunakan fitur collapse (distinct) untuk mendapatkan nilai unik berdasarkan kolom-kolom yang digabungkan. Namun, fitur ini hanya didukung untuk kolom bertipe INTEGER, FLOATING-POINT, atau KEYWORD. Maksimal 100.000 hasil teratas akan dikembalikan.
Catatan penggunaan
Jika menggunakan fitur collapse (distinct), paginasi hanya dapat dilakukan dengan menentukan parameter offset dan limit.
Jika menggabungkan dan merangkum set hasil secara bersamaan, rangkuman akan dihasilkan sebelum penggabungan.
Jika menggabungkan hasil kueri, jumlah total hasil yang dikembalikan ditentukan oleh nilai parameter offset dan limit. Maksimal 100.000 hasil dapat dikembalikan.
Jumlah total baris dalam respons mencerminkan jumlah baris yang memenuhi kondisi kueri sebelum menggunakan fitur collapse (distinct). Setelah penggabungan, jumlah total nilai unik tidak dapat diquery.
Operasi API
Anda dapat mengonfigurasi parameter collapse dalam operasi Search untuk mengimplementasikan fitur collapse (distinct).
Parameter
Parameter | Deskripsi |
query | Tipe kueri. Anda dapat menetapkan parameter ini ke semua tipe kueri. |
collapse | Menggabungkan set hasil berdasarkan kolom yang ditentukan oleh bidang fieldName. fieldName: nama kolom berdasarkan mana set hasil digabungkan. Hanya kolom dengan nilai bertipe INTEGER, FLOATING-POINT, atau KEYWORD yang 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 data spesifik, tetapkan parameter limit ke 0. |
getTotalCount | Menentukan apakah akan mengembalikan jumlah total baris yang memenuhi kondisi kueri. Nilai default parameter ini adalah false, yang menentukan bahwa jumlah total baris yang memenuhi kondisi kueri tidak dikembalikan. Jika Anda menetapkan parameter ini ke true, performa 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. Anda dapat menentukan bidang returnAll dan columns untuk parameter ini. Nilai default bidang returnAll adalah false, yang menentukan bahwa tidak semua kolom dikembalikan. Dalam hal ini, Anda dapat menggunakan bidang columns untuk menentukan kolom yang ingin Anda kembalikan. Jika Anda tidak menentukan kolom yang ingin Anda kembalikan, hanya kolom kunci utama yang dikembalikan. Jika Anda menetapkan bidang returnAll ke true, semua kolom dikembalikan. |
Metode
Anda dapat menggabungkan hasil kueri data menggunakan Tablestore CLI atau Tablestore SDK. Sebelum menggunakan fitur collapse (distinct), pastikan prasyarat berikut terpenuhi:
Anda memiliki akun Alibaba Cloud atau pengguna RAM dengan izin untuk melakukan operasi pada Tablestore. Untuk informasi tentang cara memberikan izin operasi Tablestore kepada pengguna RAM, lihat Gunakan kebijakan RAM untuk memberikan izin kepada pengguna RAM.
Jika ingin menggunakan Tablestore SDK atau Tablestore CLI untuk melakukan kueri, pasangan AccessKey harus dibuat untuk akun Alibaba Cloud atau pengguna RAM Anda. Untuk informasi lebih lanjut, lihat Buat pasangan AccessKey.
Tabel data telah dibuat. Untuk informasi lebih lanjut, lihat Operasi pada tabel.
Indeks pencarian telah dibuat untuk tabel data. Untuk informasi lebih lanjut, lihat Buat indeks pencarian.
Jika ingin menggunakan Tablestore SDK untuk melakukan kueri, instance OTSClient harus diinisialisasi. Untuk informasi lebih lanjut, lihat Inisialisasi klien Tablestore.
Jika ingin menggunakan Tablestore CLI untuk melakukan kueri, Tablestore CLI harus diunduh dan dimulai, serta informasi tentang instans dan tabel data yang ingin diakses harus dikonfigurasi. Untuk informasi lebih lanjut, lihat Unduh Tablestore CLI, Mulai Tablestore CLI dan konfigurasikan informasi akses, dan Operasi pada tabel data.
Aturan penagihan
Jika menggunakan indeks pencarian untuk menanyakan data, throughput baca akan dikonsumsi. Untuk informasi lebih lanjut, lihat Item penagihan indeks pencarian.
Fitur collapse (distinct) tidak memengaruhi aturan penagihan yang ada.
FAQ
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 range, kueri wildcard, kueri fuzzy, kueri Boolean, kueri geo, kueri nested, kueri vektor KNN, dan kueri exists. Anda dapat memilih metode kueri berdasarkan kebutuhan bisnis Anda untuk menanyakan data dari berbagai dimensi.
Anda dapat mengurutkan atau membagi halaman baris yang memenuhi kondisi kueri menggunakan fitur pengurutan dan paginasi. Untuk informasi lebih lanjut, lihat Lakukan pengurutan dan paginasi.
Anda dapat menggunakan fitur collapse (distinct) untuk menggabungkan set hasil berdasarkan kolom tertentu. Dengan cara ini, data dari tipe yang ditentukan hanya muncul sekali dalam hasil kueri. Untuk informasi lebih lanjut, lihat Collapse (distinct).
Jika ingin menganalisis data dalam tabel data, Anda dapat menggunakan fitur agregasi operasi Search atau mengeksekusi 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 ingin memperoleh 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.