Todos os produtos
Search
Central de documentação

Tablestore:Terms query

Última atualização: Jul 03, 2026

Uma consulta de termos retorna linhas cujo valor de coluna corresponde exatamente a pelo menos um dos termos especificados, equivalente ao operador SQL IN. Diferentemente da consulta de termo único, esta aceita múltiplos valores para correspondência.

Pré-requisitos

Parâmetros

Parâmetro

Descrição

query_type

Tipo da consulta. Defina este parâmetro como TermsQuery.

field_name

Nome da coluna a consultar.

terms

Lista de termos para comparar com o valor da coluna.

O sistema retorna uma linha se o valor da coluna corresponder exatamente a pelo menos um termo da lista.

table_name

Nome da tabela de dados.

index_name

Nome do índice de pesquisa.

limit

Número máximo de linhas a retornar.

Defina este parâmetro como 0 para contar as linhas correspondentes sem retornar os dados.

get_total_count

Indica se o sistema deve retornar o número total de linhas que atendem às condições da consulta. O valor padrão é false.

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

columns_To_get

Colunas a retornar para cada linha correspondente. Especifique return_type e, opcionalmente, column_names.

  • 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 a coluna Col_Keyword corresponde exatamente a um destes valores: key000, key100, key888, key999, key908 ou key1000.

Nota: Definir get_total_count como true reduz o desempenho da consulta. Ative essa opção apenas quando precisar da contagem exata de correspondências.
  • SDK for Python V5.2.1 e posterior

    O SDK for Python V5.2.1 e versões posteriores retorna um objeto SearchResponse por padrão.

    query = TermsQuery('Col_Keyword', ['key000', 'key100', 'key888', 'key999', 'key908', 'key1000'])
    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 paging, use next_token — it has no limit on paging depth.
    # all_rows = []
    # next_token = None
    # # First page
    # 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)
    #
    # # Subsequent pages
    # 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:

    query = TermsQuery('Col_Keyword', ['key000', 'key100', 'key888', 'key999', 'key908', 'key1000'])
    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()
  • SDK for Python anterior à V5.2.1

    Versões do SDK for Python anteriores à V5.2.1 retornam resultados como uma tupla por padrão.

    query = TermsQuery('Col_Keyword', ['key000', 'key100', 'key888', 'key999', 'key908', 'key1000'])
    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