Todos os produtos
Search
Central de documentação

Tablestore:Consulta de termo

Última atualização: Jul 03, 2026

Use a consulta de termo para buscar valores de campo que correspondam exatamente à palavra-chave especificada. Esse tipo de consulta funciona de maneira semelhante à correspondência de strings. Ao consultar uma coluna TEXT, a linha atenderá às condições da consulta se pelo menos um dos tokens dessa linha corresponder exatamente à palavra-chave. A palavra-chave não passa por tokenização.

Pré-requisitos

Parâmetros

Parâmetro

Descrição

TableName

Nome da tabela de dados.

IndexName

Nome do índice de busca.

Query

Tipo da consulta. Defina o tipo de consulta como TermQuery.

FieldName

Nome do campo a ser correspondido.

Term

Palavra-chave usada para corresponder aos valores de campo durante a consulta de termo.

Essa palavra-chave não passa por tokenização. O sistema utiliza a palavra-chave inteira para corresponder aos valores de campo.

Se o tipo do campo for TEXT, o Tablestore tokeniza a string e usa os tokens resultantes para fazer a correspondência com a palavra-chave. Uma linha atende às condições da consulta quando pelo menos um dos tokens dessa linha corresponde exatamente à palavra-chave. Por exemplo, se o valor de um campo do tipo TEXT em uma linha for "tablestore is cool", esse valor poderá ser tokenizado em "tablestore", "is" e "cool". A linha atenderá às condições da consulta se você especificar "tablestore", "is" ou "cool" como palavra-chave para corresponder ao valor do campo.

ColumnsToGet

Defina se todos os campos de cada linha que atende às condições da consulta devem ser retornados. Configure os parâmetros ReturnAll e Columns.

Por padrão, o parâmetro ReturnAll é definido como false, indicando que nem todos os campos serão retornados. Quando ReturnAll é false, use o parâmetro Columns para especificar quais campos deseja retornar. Caso o parâmetro Columns não seja especificado, apenas os campos de chave primária serão retornados.

Ao definir o parâmetro ReturnAll como true, todos os campos são retornados.

GetTotalCount

Defina se o número total de linhas que atendem às condições da consulta deve ser retornado. O valor padrão deste parâmetro é false, o que indica que a contagem total de linhas não será retornada.

Definir este parâmetro como true compromete o desempenho da consulta.

Exemplos

O código de exemplo a seguir demonstra como consultar linhas na tabela de dados em que o valor da coluna Col_Keyword corresponde exatamente a hangzhou:

/**
 * Query the rows in which the value of the Col_Keyword field exactly matches "hangzhou" in a table. 
 */
func TermQuery(client *tablestore.TableStoreClient, tableName string, indexName string) {
    searchRequest := &tablestore.SearchRequest{}
    searchRequest.SetTableName(tableName)
    searchRequest.SetIndexName(indexName)
    query := &search.TermQuery{} // Set the query type to TermQuery. 
    query.FieldName = "Col_Keyword" // Specify the name of the field that you want to query. 
    query.Term = "hangzhou" // Specify the keyword that is used to match field values. 
    searchQuery := search.NewSearchQuery()
    searchQuery.SetQuery(query)
    searchQuery.SetGetTotalCount(true)
    searchRequest.SetSearchQuery(searchQuery)
    // Return all columns in the rows that meet the query conditions. 
    searchRequest.SetColumnsToGet(&tablestore.ColumnsToGet{
        ReturnAll:true,
    })
    searchResponse, err := client.Search(searchRequest)
    if err != nil {
        fmt.Printf("%#v", err)
        return
    }
    fmt.Println("IsAllSuccess: ", searchResponse.IsAllSuccess) // Check whether all rows that meet the query conditions are returned. 
    fmt.Println("TotalCount: ", searchResponse.TotalCount) // Display the total number of rows that meet the query conditions instead of the number of returned rows. 
    fmt.Println("RowCount: ", len(searchResponse.Rows))
    for _, row := range searchResponse.Rows {
        jsonBody, err := json.Marshal(row)
        if err != nil {
            panic(err)
        }
        fmt.Println("Row: ", string(jsonBody))
    }
}

Perguntas frequentes

Referências