Anda dapat menggunakan kueri cocok semua untuk mencocokkan seluruh baris dalam tabel, baik untuk menanyakan jumlah total baris maupun mengembalikan beberapa baris acak.
Prasyarat
Klien Tablestore telah diinisialisasi. Untuk informasi lebih lanjut, lihat Inisialisasi Klien Tablestore.
Tabel data telah dibuat dan data telah ditulis ke tabel. 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 |
query | Jenis kueri. Atur parameter kueri ke MatchAllQuery. |
tableName | Nama tabel data. |
indexName | Nama indeks pencarian. |
limit | Jumlah maksimum baris yang ingin Anda agar kueri saat ini mengembalikannya. Jika Anda ingin kueri saat ini mengembalikan beberapa baris data acak, atur parameter limit ke bilangan bulat positif. Untuk menanyakan hanya jumlah baris yang memenuhi kondisi kueri tanpa data spesifik, atur parameter limit ke 0. |
columnsToGet | Menentukan apakah akan mengembalikan semua kolom dari setiap baris yang memenuhi kondisi kueri. Anda dapat menentukan bidang returnAll dan columns untuk parameter columnsToGet. Nilai default dari 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 mengatur bidang returnAll ke true, semua kolom dikembalikan. |
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 mengatur parameter ini ke true, kinerja kueri akan terpengaruh. |
Contoh kode
Berikut adalah contoh kode yang menunjukkan cara menanyakan jumlah total baris dalam tabel:
/**
* Gunakan fitur kueri cocok semua untuk menanyakan jumlah total baris dalam tabel.
* @param client
*/
private static void matchAllQuery(SyncClient client) {
SearchQuery searchQuery = new SearchQuery();
/**
* Atur jenis kueri ke MatchAllQuery.
*/
searchQuery.setQuery(new MatchAllQuery());
/**
* Dalam hasil kueri berbasis MatchAllQuery, nilai TotalCount adalah jumlah total baris dalam tabel.
* Jika Anda ingin kueri saat ini mengembalikan beberapa baris data acak, atur parameter limit ke bilangan bulat positif.
* Untuk menanyakan hanya jumlah baris yang memenuhi kondisi kueri tanpa menanyakan data spesifik dari baris, atur parameter limit ke 0.
*/
searchQuery.setLimit(0);
SearchRequest searchRequest = new SearchRequest("<TABLE_NAME>", "<SEARCH_INDEX_NAME>", searchQuery);
/**
* Tentukan bahwa jumlah total baris yang memenuhi kondisi kueri dikembalikan.
*/
searchQuery.setGetTotalCount(true);
SearchResponse resp = client.search(searchRequest);
/**
* Periksa apakah jumlah total baris yang dikembalikan yang memenuhi kondisi kueri benar. Jika isAllSuccess adalah false, Tablestore mungkin gagal menanyakan data di semua server dan mengembalikan nilai yang lebih kecil dari jumlah total baris yang memenuhi kondisi kueri.
*/
if (!resp.isAllSuccess()) {
System.out.println("NotAllSuccess!");
}
System.out.println("IsAllSuccess: " + resp.isAllSuccess());
System.out.println("TotalCount: " + resp.getTotalCount()); // Tampilkan jumlah total baris yang memenuhi kondisi kueri.
System.out.println(resp.getRequestId());
}
FAQ
Referensi
Saat menggunakan indeks pencarian untuk mengquery data, Anda dapat memanfaatkan metode query berikut: kueri tepat, kueri terms, kueri match all, kueri match, kueri match phrase, kueri prefix, kueri range, kueri wildcard, kueri geo, KNN vector query, kueri Boolean, kueri nested, dan kueri exists. Setelah membuat indeks pencarian, Anda dapat menggunakan metode query yang disediakan oleh indeks tersebut untuk mengquery data dari berbagai dimensi sesuai kebutuhan bisnis Anda.
Anda dapat mengurutkan atau membagi halaman baris yang memenuhi kondisi kueri menggunakan fitur pengurutan dan paging. Untuk informasi lebih lanjut, lihat Lakukan Pengurutan dan Paging.
Anda dapat menggunakan fitur collapse (distinct) untuk meruntuhkan 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, Anda dapat memanggil operasi Search untuk menggunakan fitur agregasi atau fitur kueri SQL. Sebagai contoh, Anda dapat menanyakan nilai maksimum dan minimum, jumlah nilai, serta jumlah baris. Untuk informasi lebih lanjut, lihat Agregasi dan Kueri SQL.
Jika ingin 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.