All Products
Search
Document Center

Tablestore:Ciutkan hasil kueri

Last Updated:Aug 12, 2026

Gunakan Tablestore SDK for Go untuk menciutkan hasil kueri berdasarkan suatu field dan mengembalikan satu baris untuk setiap nilai field yang berbeda.

Prasyarat

Instal Tablestore Go SDK dan inisialisasi client.

Deskripsi

Fitur collapse dapat dikombinasikan dengan tipe kueri apa pun. Fitur ini mengelompokkan hasil kueri berdasarkan nilai field tertentu dan mengembalikan baris pertama dari setiap kelompok sesuai urutan yang telah ditentukan. TotalCount tetap merepresentasikan jumlah baris yang cocok sebelum collapse diterapkan, sedangkan jumlah total kelompok setelah collapse tidak tersedia. Pengurutan (sorting) dan agregasi harus diaktifkan pada field yang digunakan dalam collapse. Field bertipe Long, Double, dan Keyword didukung, namun field array tidak didukung.

Penting
  • Kueri collapse hanya mendukung paginasi berbasis Offset dan Limit, tidak mendukung paginasi berbasis token. Nilai Offset + Limit tidak boleh melebihi 100.000, sehingga maksimal 100.000 kelompok dapat dikembalikan.

  • Jika agregasi dan collapse digunakan bersamaan, agregasi dihitung berdasarkan set hasil sebelum collapse.

searchQuery := search.NewSearchQuery().
    SetQuery(&search.MatchAllQuery{}).
    SetCollapse(&search.Collapse{FieldName: "category"}).
    SetGetTotalCount(true)

response, err := client.Search(&tablestore.SearchRequest{
    TableName:   "example_table",
    IndexName:   "example_index",
    SearchQuery: searchQuery,
})
if err != nil {
    log.Fatal(err)
}

fmt.Println(response.TotalCount)
fmt.Println(response.Rows)

Parameter

Nama

Tipe

Deskripsi

FieldName (wajib)

string

Bidang yang digunakan untuk melipat hasil.

Respons

Nama

Tipe

Deskripsi

TotalCount

int64

Jumlah total baris yang cocok. Nilainya bergantung pada SetGetTotalCount.

Rows

[]*tablestore.Row

Baris yang dikembalikan oleh kueri saat ini. Jumlahnya tidak melebihi nilai yang ditentukan oleh SetLimit.

SearchHits

[]*tablestore.SearchHit

Hasil pencarian (search hits). Baca field ini jika Anda menggunakan highlighting, nested inner hits, atau skor relevansi.

IsAllSuccess

bool

Menunjukkan apakah semua partisi indeks telah dikueri. Jika nilainya false, hasil parsial dikembalikan dan TotalCount mungkin lebih kecil daripada jumlah aktual baris yang cocok.

AggregationResults

search.AggregationResults

Hasil agregasi.

GroupByResults

search.GroupByResults

Hasil pengelompokan.