Todos os produtos
Search
Central de documentação

Tablestore:Term query

Última atualização: Jul 03, 2026

Use a consulta de termo para localizar linhas cujos valores de campo correspondam exatamente a uma palavra-chave especificada. Para campos TEXT, o Tablestore tokeniza o valor do campo e compara cada token com a palavra-chave. Se algum token corresponder, o sistema retornará a linha. A palavra-chave em si não é tokenizada.

Pré-requisitos

Parâmetros

Parâmetro

Descrição

query_type

Tipo da consulta. Defina como TermQuery.

field_name

Nome do campo a consultar.

term

Palavra-chave para comparar com os valores do campo. O sistema não tokeniza a palavra-chave; ele a compara como um todo.

Em campos TEXT, o Tablestore tokeniza o valor do campo e verifica cada token em relação à palavra-chave. O sistema retorna a linha se qualquer token corresponder exatamente.

Por exemplo, se um campo TEXT contiver "tablestore is cool", o valor será tokenizado em "tablestore", "is" e "cool". Consultar por "tablestore", "is" ou "cool" retorna a linha.

table_name

Nome da tabela de dados.

index_name

Nome do índice de pesquisa.

limit

Número máximo de linhas a retornar.

Defina como 0 para obter apenas a contagem de linhas, sem retornar os dados.

get_total_count

Define se o sistema deve retornar o número total de linhas correspondentes. Padrão: false.

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

columns_to_get

Colunas a retornar para cada linha correspondente. Configure return_type e column_names conforme necessário.

  • ColumnReturnType.SPECIFIED: retorna apenas as colunas listadas em column_names.

  • ColumnReturnType.ALL: retorna todas as colunas.

  • ColumnReturnType.NONE: retorna apenas as colunas de chave primária.

Exemplos

Os exemplos a seguir consultam linhas em que o campo Col_Keyword corresponde exatamente a "tablestore".

  • Tablestore SDK for Python V5.2.1 ou posterior

    O SDK for Python V5.2.1 e versões posteriores retorna um objeto SearchResponse por padrão. O exemplo a seguir mostra uma consulta de termo básica:

    query = TermQuery('Col_Keyword', 'tablestore')
    search_response = client.search(
        '<TABLE_NAME>', '<SEARCH_INDEX_NAME>', 
        SearchQuery(query, limit=100, get_total_count=True), 
        ColumnsToGet(return_type=ColumnReturnType.ALL)
    )
    print('request_id : %s' % search_response.request_id)
    print('is_all_succeed : %s' % search_response.is_all_succeed)
    print('total_count : %s' % search_response.total_count)
    print('rows : %s' % search_response.rows)
    
    # For deep pagination, use next_token — it has no limit on pagination depth.
    # all_rows = []
    # next_token = None
    # # first round
    # search_response = client.search(
    #     '<TABLE_NAME>', '<SEARCH_INDEX_NAME>',
    #     SearchQuery(query, next_token=next_token, limit=100, get_total_count=True),
    #     columns_to_get=ColumnsToGet(return_type=ColumnReturnType.ALL))
    # all_rows.extend(search_response.rows)
    # 
    # # loop
    # while search_response.next_token:
    #     search_response = client.search(
    #         '<TABLE_NAME>', '<SEARCH_INDEX_NAME>', 
    #         SearchQuery(query, next_token=search_response.next_token, limit=100, get_total_count=True),
    #         columns_to_get=ColumnsToGet(return_type=ColumnReturnType.ALL))
    #     all_rows.extend(search_response.rows)
    # print('Total rows:%s' % len(all_rows))

    Para obter os resultados como uma tupla, chame .v1_response():

    query = TermQuery('Col_Keyword', 'tablestore')
    rows, next_token, total_count, is_all_succeed, agg_results, group_by_results = client.search(
        '<TABLE_NAME>', '<SEARCH_INDEX_NAME>', 
        SearchQuery(query, limit=100, get_total_count=True), 
        ColumnsToGet(return_type=ColumnReturnType.ALL)
    ).v1_response()
  • Tablestore SDK for Python anterior à versão 5.2.1

    Versões do SDK for Python anteriores à 5.2.1 retornam resultados como uma tupla por padrão:

    query = TermQuery('Col_Keyword', 'tablestore')
    rows, next_token, total_count, is_all_succeed = client.search(
        '<TABLE_NAME>', '<SEARCH_INDEX_NAME>', 
        SearchQuery(query, limit=100, get_total_count=True), 
        ColumnsToGet(return_type=ColumnReturnType.ALL)
    )

Perguntas frequentes

Referências