Tous les produits
Search
Centre de documentation

Tablestore:Use post-query filters

Dernière mise à jour :Aug 19, 2026

Utilisez le SDK Tablestore pour Go afin de filtrer les résultats après le traitement des requêtes et des agrégations.

Prérequis

Installez le SDK Go Tablestore et initialisez un client.

Description

Un filtre post-requête utilise SearchFilter pour filtrer les résultats d'une requête. Ce filtre s'applique après le traitement de la requête et des agrégations. Il ne modifie donc pas les résultats d'agrégation et n'affecte que les lignes renvoyées ainsi que le nombre de lignes correspondantes. Cette fonctionnalité permet de contrôler le moment où une condition de requête est évaluée. Une utilisation appropriée peut améliorer les performances des requêtes.

Important

La requête principale prend en charge tous les types de requête pris en charge par Search, mais l'utilisation de MatchAllQuery n'est pas recommandée. Un filtre prend uniquement en charge TermQuery, TermsQuery, RangeQuery, ExistsQuery et les valeurs BoolQuery composées de ces types de requête. BoolQuery prend en charge MustQueries, MustNotQueries et ShouldQueries, mais pas FilterQueries. Seuls les champs Keyword, Long et Double peuvent être filtrés ; le tri et l'agrégation doivent être activés pour le champ. Une condition de filtre ne prend pas en charge 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)

Paramètres

Nom

Type

Description

Query (obligatoire)

search.Query

Condition de filtre. Les types TermQuery, TermsQuery, RangeQuery, ExistsQuery et les combinaisons BoolQuery de ces types sont pris en charge.

Réponse

Nom

Type

Description

TotalCount

int64

Nombre total de lignes correspondantes. La valeur dépend de SetGetTotalCount.

Rows

[]*tablestore.Row

Lignes renvoyées par la requête actuelle. Le nombre ne dépasse pas la valeur spécifiée par SetLimit.

SearchHits

[]*tablestore.SearchHit

Résultats de recherche. Consultez ce champ lorsque vous utilisez la mise en surbrillance, les hits internes imbriqués ou les scores de pertinence.

NextToken

[]byte

Jeton pour la page suivante. Si la valeur n'est pas vide, transmettez-la à la requête suivante.

IsAllSuccess

bool

Indique si toutes les partitions d'index ont été interrogées. Si la valeur est false, des résultats partiels sont renvoyés et TotalCount peut être inférieur au nombre réel de lignes correspondantes.

AggregationResults

search.AggregationResults

Résultats d'agrégation.

GroupByResults

search.GroupByResults

Résultats de regroupement.