Todos los productos
Search
Centro de documentos

Tablestore:Consulta de prefijo

Última actualización: Oct 09, 2026

Use una consulta de prefijo en el Tablestore SDK for Go para buscar los valores que comienzan con un prefijo específico.

Requisitos previos

Instale el Tablestore Go SDK e inicialice el cliente.

Descripción

Una consulta de prefijo busca los valores que comienzan con el prefijo especificado. En un campo de tipo Text, la consulta se aplica a los términos tokenizados y no a la cadena original completa. La búsqueda distingue entre mayúsculas y minúsculas.

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, junto con el número total de filas coincidentes.

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

query := &search.PrefixQuery{FieldName: "category", Prefix: "book-"}
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

El parámetro 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 generales de la misma.

ColumnsToGet (opcional)

*tablestore.ColumnsToGet

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

RoutingValues (opcional)

[]*tablestore.PrimaryKey

Valores de clave principal para los campos de enrutamiento personalizado. Omita este parámetro si no configuró 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 mediante la llamada a search.NewSearchQuery() y configúrela con los métodos descritos a continuación.

Nombre

Tipo

Descripción

SetQuery (obligatorio)

search.Query

Especifica la condición de consulta.

SetOffset (opcional)

int32

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

SetLimit (opcional)

int32

Define el número máximo de filas que se devuelven. Valor predeterminado: 10. Valor máximo: 100. Si establece 0, no se devuelve ninguna fila.

SetHighlight (opcional)

*search.Highlight

Configura resúmenes y resaltado para los campos de tipo 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

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

SetGetTotalCount (opcional)

bool

Determina si se cuentan todas las filas coincidentes. Valor predeterminado: false.

SetToken (opcional)

[]byte

Especifica el valor NextToken que devolvió la respuesta anterior. Este método borra Sort porque el token ya incluye las condiciones de clasificación de la página previa. No establezca 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.PrefixQuery y contiene los siguientes parámetros.

Nombre

Tipo

Descripción

FieldName (obligatorio)

string

Nombre del campo de índice que se va a consultar.

Prefix (obligatorio)

string

Prefijo que se debe buscar.

Columnas que se devuelven

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

Nombre

Tipo

Descripción

Columns (opcional)

[]string

Columnas de atributos que se van a devolver. Este parámetro solo surte efecto cuando ReturnAll y ReturnAllFromIndex son false.

ReturnAll (opcional)

bool

Indica si se devuelven todas las columnas de atributos de la tabla de datos. Valor predeterminado: false.

ReturnAllFromIndex (opcional)

bool

Determina si se devuelven todas las columnas de atributos indexadas. Valor predeterminado: false. No establezca este parámetro y ReturnAll como true al mismo tiempo.

Respuesta

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

Nombre

Tipo

Descripción

TotalCount

int64

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

Rows

[]*tablestore.Row

Filas que devuelve la consulta actual. La cantidad no supera el valor definido en SetLimit.

SearchHits

[]*tablestore.SearchHit

Coincidencias de la búsqueda. Lea este campo cuando utilice resaltado, inner hits anidados o puntuaciones de relevancia.

NextToken

[]byte

Token de la página siguiente. Si el valor no está vacío, páselo a la próxima 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 las agregaciones.

GroupByResults

search.GroupByResults

Resultados de las agrupaciones.