Todos los productos
Search
Centro de documentos

Tablestore:Consulta booleana

Última actualización: Sep 03, 2026

Utilice una consulta booleana en el Tablestore SDK for Go para combinar varias condiciones mediante la lógica AND, OR, NOT y filtros.

Requisitos previos

Instale Tablestore Go SDK e inicialice un cliente.

Descripción

Una consulta booleana combina subconsultas mediante las cláusulas Must, Should, MustNot y Filter. Las cláusulas Must y Filter deben coincidir, las cláusulas Should deben satisfacer MinShouldMatch y las cláusulas MustNot no deben coincidir.

func (client *tablestore.TableStoreClient) Search(request *tablestore.SearchRequest) (*tablestore.SearchResponse, error)

A continuación se muestra un ejemplo que consulta datos y devuelve hasta 10 filas, además del número total de filas coincidentes.

tableName := "example_table"
indexName := "example_index"

query := &search.BoolQuery{MustQueries: []search.Query{&search.TermQuery{FieldName: "category", Term: "books"}}, MustNotQueries: []search.Query{&search.TermQuery{FieldName: "status", Term: "inactive"}}}
searchQuery := search.NewSearchQuery().
    SetQuery(query).
    SetLimit(10).
    SetGetTotalCount(true)

response, err := client.Search(&tablestore.SearchRequest{
    TableName:   tableName,
    IndexName:   indexName,
    SearchQuery: searchQuery,
    ColumnsToGet: &tablestore.ColumnsToGet{
        ReturnAllFromIndex: true,
    },
})
if err != nil {
    log.Fatal(err)
}

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

Parámetros

Solicitud de consulta

request es de tipo tablestore.SearchRequest y contiene los siguientes parámetros.

Nombre

Tipo

Descripción

TableName (obligatorio)

string

Nombre de la tabla de datos.

IndexName (obligatorio)

string

Nombre del índice de búsqueda.

SearchQuery (obligatorio)

search.SearchQuery

Condición de consulta y configuraciones comunes de la consulta.

ColumnsToGet (opcional)

*tablestore.ColumnsToGet

Configuración de columnas a devolver. Si se omite este parámetro, solo se devuelven las columnas de clave principal.

RoutingValues (opcional)

[]*tablestore.PrimaryKey

Valores de clave principal para campos de enrutamiento personalizado. Omita este parámetro si no ha configurado el enrutamiento personalizado.

TimeoutMs (opcional)

*int32

Tiempo de espera de la solicitud en milisegundos.

Configuración de la consulta

Cree una configuración de consulta al llamar a search.NewSearchQuery() y configúrela con los siguientes métodos.

Nombre

Tipo

Descripción

SetQuery (obligatorio)

search.Query

Especifica la condición de consulta.

SetOffset (opcional)

int32

Especifica la posición inicial. Valor predeterminado: 0. En la paginación basada en desplazamiento, la suma de Offset + Limit no puede superar 100,000.

SetLimit (opcional)

int32

Especifica el número máximo de filas a devolver. Valor predeterminado: 10. Valor máximo: 100. Un valor de 0 no devuelve ninguna fila.

SetHighlight (opcional)

*search.Highlight

Configura resúmenes y resaltado para campos Text. Para obtener más información, consulte Summary and highlighting.

SetCollapse (opcional)

*search.Collapse

Colapsa los resultados de la consulta. Para obtener más información, consulte Collapse query results.

SetSort (opcional)

*search.Sort

Especifica el orden de clasificación de los resultados. Para obtener más información, consulte Sort and paginate results.

SetGetTotalCount (opcional)

bool

Especifica si se deben contar todas las filas coincidentes. Valor predeterminado: false.

SetToken (opcional)

[]byte

Especifica el valor NextToken devuelto por la respuesta anterior. Este método borra Sort porque el token contiene las condiciones de clasificación de la página anterior. No especifique Offset cuando utilice la paginación basada en tokens.

SetSearchFilter (opcional)

*search.SearchFilter

Aplica un filtro posterior a la consulta. Para obtener más información, consulte Use post-query filters.

Aggregation (opcional)

...search.Aggregation

Configura agregaciones. Para obtener más información, consulte Aggregation.

GroupBy (opcional)

...search.GroupBy

Configura agrupaciones. Para obtener más información, consulte Aggregation.

Condición de consulta

La consulta es de tipo search.BoolQuery y contiene los siguientes parámetros.

Nombre

Tipo

Descripción

MustQueries (opcional)

[]search.Query

Subconsultas que deben coincidir. Se combinan mediante AND.

ShouldQueries (opcional)

[]search.Query

Subconsultas que deberían coincidir. Se combinan mediante OR.

MustNotQueries (opcional)

[]search.Query

Subconsultas que no deben coincidir.

FilterQueries (opcional)

[]search.Query

Subconsultas que deben coincidir pero no contribuyen a las puntuaciones de relevancia.

MinShouldMatch (opcional)

*string

Número o porcentaje mínimo de ShouldQueries que deben coincidir, como 2 o 75%. Si solo se configura ShouldQueries, como mínimo una subconsulta debe coincidir de forma predeterminada. Si también se configura MustQueries, MustNotQueries o FilterQueries, el valor predeterminado es 0 y ShouldQueries solo contribuye a las puntuaciones de relevancia.

Weight (opcional)

*float32

Peso de relevancia. Este valor afecta el ordenamiento únicamente cuando los resultados se clasifican por puntuación.

Columnas a devolver

request.ColumnsToGet es de tipo tablestore.ColumnsToGet y contiene los siguientes parámetros.

Nombre

Tipo

Descripción

Columns (opcional)

[]string

Columnas de atributos a devolver. Este parámetro surte efecto únicamente cuando ReturnAll y ReturnAllFromIndex son falsos.

ReturnAll (opcional)

bool

Especifica si se deben devolver todas las columnas de atributos de la tabla de datos. Valor predeterminado: false.

ReturnAllFromIndex (opcional)

bool

Especifica si se deben devolver todas las columnas de atributos indexadas. Valor predeterminado: false. No establezca este parámetro y ReturnAll en verdadero simultáneamente.

Respuesta

El método Search devuelve un valor tablestore.SearchResponse. La siguiente tabla describe los campos principales del negocio.

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 búsqueda. Lea este campo cuando utilice resaltado, resultados internos anidados 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 falso, 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.