All Products
Search
Document Center

Tablestore:Gunakan filter pasca-kueri

Last Updated:Aug 12, 2026

Gunakan Tablestore SDK untuk Go guna memfilter hasil setelah kueri dan agregasi diproses.

Prasyarat

Pasang Tablestore Go SDK dan inisialisasi client.

Deskripsi

Filter pasca-kueri menggunakan SearchFilter untuk memfilter hasil kueri. Filter ini diterapkan setelah kueri dan agregasi diproses, sehingga tidak mengubah hasil agregasi dan hanya memengaruhi baris yang dikembalikan serta jumlah baris yang cocok. Fitur ini memungkinkan Anda mengontrol waktu evaluasi suatu kondisi kueri, yang jika digunakan dengan tepat dapat meningkatkan performa kueri.

Penting

Kueri utama mendukung semua jenis kueri yang didukung oleh Search, tetapi MatchAllQuery tidak disarankan. Filter hanya mendukung TermQuery, TermsQuery, RangeQuery, ExistsQuery, serta kombinasi BoolQuery dari jenis-jenis kueri tersebut. BoolQuery mendukung MustQueries, MustNotQueries, dan ShouldQueries, tetapi tidak mendukung FilterQueries. Hanya bidang bertipe Keyword, Long, dan Double yang dapat difilter, dan bidang tersebut harus memiliki fitur sorting dan agregasi yang diaktifkan. Kondisi filter tidak mendukung Weight.

filter := (&search.SearchFilter{}).SetQuery(
    &search.TermQuery{FieldName: "status", Term: "active"},
)
searchQuery := search.NewSearchQuery().
    SetQuery(&search.TermQuery{FieldName: "category", Term: "books"}).
    SetSearchFilter(filter).
    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

Query (wajib)

search.Query

Kondisi filter. Didukung TermQuery, TermsQuery, RangeQuery, ExistsQuery, serta kombinasi BoolQuery dari jenis-jenis tersebut.

Respons

Nama

Type

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. Baca bidang ini ketika Anda menggunakan highlighting, nested inner hits, atau skor relevansi.

NextToken

[]byte

Token untuk halaman berikutnya. Jika nilainya tidak kosong, teruskan ke kueri berikutnya.

IsAllSuccess

bool

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

AggregationResults

search.AggregationResults

Hasil agregasi.

GroupByResults

search.GroupByResults

Hasil pengelompokan.