Todos os produtos
Search
Central de documentação

Tablestore:Consulta de termos

Última atualização: Jul 03, 2026

A consulta de termos funciona de modo semelhante à consulta de termo único, mas permite especificar várias palavras-chave em uma única consulta para buscar linhas de dados correspondentes a pelo menos uma delas. Esse mecanismo equivale ao operador IN do SQL.

Pré-requisitos

Parâmetros

Parâmetro

Descrição

TableName

Nome da tabela de dados.

IndexName

Nome do índice de pesquisa.

Query

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

FieldName

Nome do campo a ser consultado.

Terms

Palavras-chave usadas para corresponder aos valores do campo durante uma consulta de termos.

O sistema retorna uma linha de dados se pelo menos uma das palavras-chave corresponder ao valor do campo.

Limit

Número máximo de linhas que a consulta atual deve retornar.

Para consultar apenas a quantidade de linhas que atendem às condições sem retornar dados específicos, defina Limit como 0.

ColumnsToGet

Define se todas as colunas de cada linha correspondente às condições da consulta devem ser retornadas. Configure os parâmetros ReturnAll e Columns.

Por padrão, o parâmetro ReturnAll é definido como false, o que indica que nem todas as colunas são retornadas. Quando ReturnAll é false, use o parâmetro Columns para especificar quais colunas retornar. Se você não especificar o parâmetro Columns, apenas as colunas de chave primária serão retornadas.

Se você definir o parâmetro ReturnAll como true, todas as colunas das linhas correspondentes serão retornadas.

Exemplos

O código de exemplo a seguir demonstra como consultar linhas nas quais o valor da coluna Col_Keyword corresponde exatamente a "hangzhou" ou "tablestore".

/**
 * Query the rows in which the value of the Col_Keyword column exactly matches "hangzhou" or "tablestore" in the table. 
 */
func TermsQuery(client *tablestore.TableStoreClient, tableName string, indexName string) {
    searchRequest := &tablestore.SearchRequest{}
    searchRequest.SetTableName(tableName)
    searchRequest.SetIndexName(indexName)
    query := &search.TermsQuery{}   // Set the query type to TermsQuery. 
    query.FieldName = "Col_Keyword" // Set the field used to match the query conditions. 
    terms := make([]interface{}, 0)
    terms = append(terms, "hangzhou")
    terms = append(terms, "tablestore")
    query.Terms = terms // Set the keywords used in the query to match the column values. 
    searchQuery := search.NewSearchQuery()
    searchQuery.SetQuery(query)
    searchQuery.SetLimit(100)
    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("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