Todos os produtos
Search
Central de documentação

Tablestore:Consulta de intervalo

Última atualização: Jul 03, 2026

Use a consulta de intervalo para buscar dados dentro de um intervalo especificado. Se o tipo da coluna for TEXT, o Tablestore tokeniza a string e usa os tokens para corresponder à palavra-chave. Uma linha atende às condições da consulta quando pelo menos um dos tokens dessa linha corresponde ao intervalo definido.

Pré-requisitos

Parâmetros

Parâmetro

Descrição

field_name

Nome da coluna a ser consultada.

range_from

Valor inicial da consulta.

range_to

Valor final da consulta.

include_lower

Defina se o valor do parâmetro range_from deve ser incluído na resposta. Este parâmetro é do tipo Boolean.

include_upper

Defina se o valor do parâmetro range_to deve ser incluído na resposta. Este parâmetro é do tipo Boolean.

table_name

Nome da tabela de dados.

index_name

Nome do índice de pesquisa.

query

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

limit

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

Para obter apenas a contagem de linhas correspondentes sem recuperar os dados específicos, defina o parâmetro limit como 0.

get_total_count

Indica se o número total de linhas correspondentes deve ser retornado. O valor padrão é false, o que significa que a contagem total não é retornada.

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

columns_to_get

Controla quais colunas retornar para cada linha correspondente. Especifique os campos return_type e column_names neste parâmetro.

  • Se return_type for ColumnReturnType.SPECIFIED, use column_names para indicar as colunas desejadas.

  • Com return_type definido como ColumnReturnType.ALL, todas as colunas são retornadas.

  • Ao usar ColumnReturnType.NONE em return_type, apenas as colunas de chave primária são incluídas no resultado.

Exemplos

Os exemplos abaixo demonstram como consultar linhas em que o valor da coluna Col_Keyword está entre 'key100' e 'key200'.

  • Consulta de intervalo com Tablestore SDK for Python V5.2.1 ou posterior

    Ao usar o Tablestore SDK for Python V5.2.1 ou posterior, a operação retorna um objeto SearchResponse por padrão. Veja o exemplo de solicitação:

    query = RangeQuery('Col_Keyword', 'key100', 'key200', include_lower=False, include_upper=False)
    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)
    
    # # If deep paging is required, we recommend that you use the next_token parameter because this method has no limits on the paging 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 resultados no formato Tuple, utilize a seguinte solicitação:

    query = RangeQuery('Col_Keyword', 'key100', 'key200', include_lower=False, include_upper=False)
    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()
  • Consulta de intervalo com versões anteriores à 5.2.1 do Tablestore SDK for Python

    Nas versões do Tablestore SDK for Python anteriores a 5.2.1, a consulta de intervalo retorna resultados do tipo TUPLE por padrão. O código abaixo ilustra essa chamada:

    query = RangeQuery('Col_Keyword', 'key100', 'key200', include_lower=False, include_upper=False)
    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)
    )

FAQ

Referências