全部产品
Search
文档中心

Tablestore:Kueri match all

更新时间:Jul 06, 2025

Gunakan kueri match all untuk mencocokkan semua baris dalam tabel, baik untuk menanyakan jumlah total baris maupun mengembalikan beberapa baris acak.

Operasi API

Panggil operasi Search atau ParallelScan, dan atur jenis kueri ke MatchAllQuery untuk menjalankan kueri match all.

Parameter

Parameter

Deskripsi

query

Jenis kueri. Atur parameter query ke MatchAllQuery.

tableName

Nama tabel data.

indexName

Nama indeks pencarian.

limit

Jumlah maksimum baris yang ingin Anda kembalikan dalam kueri saat ini.

Jika Anda ingin kueri saat ini mengembalikan beberapa baris data acak, atur parameter limit ke bilangan bulat positif.

Untuk hanya menanyakan 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, performa kueri akan berkurang.

Metode

Anda dapat menggunakan CLI Tablestore atau SDK Tablestore untuk menjalankan kueri match all. Pastikan langkah-langkah berikut telah dilakukan sebelumnya:

Gunakan CLI Tablestore

Gunakan CLI Tablestore untuk menjalankan perintah search guna menanyakan data menggunakan indeks pencarian. Untuk informasi lebih lanjut, lihat Indeks pencarian.

  1. Jalankan perintah search untuk menggunakan indeks pencarian search_index dalam menanyakan data dan mengembalikan semua kolom terindeks dari setiap baris yang memenuhi kondisi kueri.

    search -n search_index --return_all_indexed
  2. Masukkan kondisi kueri sesuai petunjuk:

    {
        "Offset": -1,
        "Limit": 10,
        "Collapse": null,
        "Sort": null,
        "GetTotalCount": true,
        "Token": null,
        "Query": {
            "Name": "MatchAllQuery",
            "Query": {
            }
        }
    }

Gunakan SDK Tablestore

Anda dapat menjalankan kueri match all menggunakan SDK Tablestore berikut: SDK Tablestore untuk Java, SDK Tablestore untuk Go, SDK Tablestore untuk Python, SDK Tablestore untuk Node.js, SDK Tablestore untuk .NET, dan SDK Tablestore untuk PHP. Contoh ini menggunakan SDK Tablestore untuk Java.

Berikut adalah contoh kode untuk menanyakan jumlah total baris dalam tabel:

/**
 * Gunakan fitur kueri match all 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 hanya menanyakan 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("TidakSemuaBerhasil!");
    }
    System.out.println("ApakahSemuaBerhasil: " + resp.isAllSuccess());
    System.out.println("JumlahTotal: " + resp.getTotalCount()); // Tampilkan jumlah total baris yang memenuhi kondisi kueri. 
    System.out.println(resp.getRequestId());
}
            

Aturan penagihan

Saat menggunakan indeks pencarian untuk menanyakan data, Anda dikenakan biaya untuk throughput baca yang dikonsumsi. Untuk informasi lebih lanjut, lihat Item yang dapat ditagih dari indeks pencarian.

Pertanyaan Umum

Bagaimana cara menanyakan jumlah total baris dalam tabel?

Referensi