全部产品
Search
文档中心

Tablestore:Collapse (distinct)

更新时间:Jul 02, 2025

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 tersebut hanya ditampilkan sekali dalam hasil yang dikembalikan, memastikan keragaman jenis hasil.

Prasyarat

Catatan penggunaan

  • Jika Anda menggunakan fitur collapse, Anda hanya dapat melakukan paging dengan menentukan parameter Offset dan Limit, bukan token.

  • Jika Anda menggabungkan dan menciutkan set hasil secara bersamaan, set hasil akan digabungkan terlebih dahulu sebelum di-collapse.

  • Jika Anda menciutkan hasil kueri, jumlah total hasil yang dikembalikan ditentukan oleh jumlah nilai Offset dan Limit. Maksimal 100.000 hasil dapat dikembalikan.

  • Jumlah total baris dalam respons menunjukkan jumlah baris yang memenuhi kondisi kueri sebelum menggunakan fitur collapse (distinct). Setelah set hasil di-collapse, jumlah total baris tidak dapat di-query.

Parameter

Parameter

Deskripsi

NamaTabel

Nama dari tabel data.

NamaIndeks

Nama dari indeks pencarian.

Kueri

Tipe dari kueri. Anda dapat menyetel parameter ini ke tipe kueri apa pun.

Collapse

Parameter collapse, termasuk parameter NamaKolom.

NamaKolom: nama kolom berdasarkan mana set hasil di-collapse. Hanya kolom dengan nilai bertipe INTEGER, FLOATING-POINT, dan KEYWORD yang didukung.

Offset

Posisi dari mana kueri saat ini dimulai.

Batas

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

Untuk hanya menanyakan jumlah baris yang memenuhi kondisi kueri tanpa data spesifik, atur parameter Batas ke 0.

Contoh

Berikut adalah contoh kode tentang cara menanyakan semua data dalam tabel dan menggabungkan set hasil berdasarkan kolom pk0:

/// <summary>
/// Menggabungkan set hasil berdasarkan kolom pk0. 
/// </summary>
/// <param name="otsClient"></param>
public static void GunakanCollapse(OTSClient otsClient)
{
    MatchAllQuery matchAllQuery = new MatchAllQuery();

    Collapse collapse = new Collapse();
    collapse.FieldName = "pk0";

    SearchQuery searchQuery = new SearchQuery();
    searchQuery.Query = matchAllQuery;
    searchQuery.Collapse = collapse;

    SearchRequest searchRequest = new SearchRequest(NamaTabel, NamaIndeks, searchQuery);

    SearchResponse searchResponse = otsClient.Search(searchRequest);

    foreach (Row row in searchResponse.Rows)
    {
        Console.WriteLine(JsonConvert.SerializeObject(row));
    }
}

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 Boolean, kueri geo, kueri nested, dan kueri exists. Anda dapat menggunakan metode kueri yang berbeda untuk menanyakan data dari beberapa dimensi sesuai kebutuhan bisnis Anda.

    Anda dapat mengurutkan atau membagi halaman baris yang memenuhi kondisi kueri dengan menggunakan fitur Pengurutan dan pembagian halaman. Untuk informasi lebih lanjut, lihat Pengurutan dan pembagian halaman.

    Anda dapat menggunakan fitur collapse (distinct) untuk menggabungkan set hasil berdasarkan kolom tertentu. Dengan cara ini, data dari tipe tertentu hanya muncul sekali dalam hasil kueri. Untuk informasi lebih lanjut, lihat Collapse (distinct).

  • Jika Anda ingin menganalisis data dalam tabel data, Anda dapat menggunakan fitur agregasi dari operasi Pencarian atau menjalankan pernyataan SQL. Sebagai contoh, Anda bisa mendapatkan nilai minimum dan maksimum, jumlah, serta total jumlah baris. Untuk informasi lebih lanjut, lihat Agregasi dan Kueri SQL.

  • Jika Anda 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.