Todos los productos
Search
Centro de documentos

Tablestore:Uso de filtros posteriores a la consulta

Última actualización: Sep 03, 2026

Utilice el Tablestore SDK for Go para filtrar resultados después del procesamiento de consultas y agregaciones.

Requisitos previos

Instale Tablestore Go SDK e inicialice un cliente.

Descripción

Un filtro posterior a la consulta usa SearchFilter para filtrar los resultados de una búsqueda. Este filtro se aplica después del procesamiento de la consulta y la agregación; por lo tanto, no modifica los resultados de la agregación y solo afecta las filas devueltas y el recuento de filas coincidentes. Esta función permite controlar cuándo se evalúa una condición de consulta. Un uso adecuado mejora el rendimiento de las consultas.

Importante

La consulta principal admite todos los tipos de consulta compatibles con Search, pero no se recomienda usar MatchAllQuery. El filtro solo admite valores de TermQuery, TermsQuery, RangeQuery, ExistsQuery y BoolQuery compuestos por estos tipos de consulta. BoolQuery es compatible con MustQueries, MustNotQueries y ShouldQueries, pero no con FilterQueries. Solo se pueden filtrar campos de tipo Keyword, Long y Double, y el campo debe tener habilitados el ordenamiento y la agregación. Las condiciones de filtro no admiten 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)

Parámetros

Nombre

Tipo

Descripción

Query (obligatorio)

search.Query

La condición de filtro. Se admiten combinaciones de TermQuery, TermsQuery, RangeQuery, ExistsQuery y BoolQuery.

Respuesta

Nombre

Tipo

Descripción

TotalCount

int64

Número total de filas coincidentes. El valor depende de SetGetTotalCount.

Rows

[]*tablestore.Row

Filas devueltas por la consulta actual. La cantidad no supera el valor especificado en SetLimit.

SearchHits

[]*tablestore.SearchHit

Resultados de la búsqueda. Lea este campo cuando use resaltado, coincidencias internas anidadas o puntuaciones de relevancia.

NextToken

[]byte

Token para la siguiente página. Si el valor no está vacío, páselo a la siguiente consulta.

IsAllSuccess

bool

Indica si se consultaron todas las particiones del índice. Si el valor es false, se devuelven resultados parciales y TotalCount podría ser menor que el número real de filas coincidentes.

AggregationResults

search.AggregationResults

Resultados de la agregación.

GroupByResults

search.GroupByResults

Resultados de la agrupación.