Todos os produtos
Search
Central de documentação

Tablestore:Consulta de intervalo

Última atualização: Jul 03, 2026

Execute uma consulta de intervalo para buscar dados dentro de um intervalo especificado. Se o tipo do campo consultado for TEXT, os valores do campo serão tokenizados. Uma linha atenderá às condições da consulta quando pelo menos um dos tokens dessa linha corresponder ao intervalo definido.

Operação de API

Para consultar dados em um intervalo, chame a operação Search ou ParallelScan e defina o tipo de consulta como RangeQuery.

Parâmetros

Parâmetro

Descrição

fieldName

Nome do campo a ser correspondido.

from

Valor inicial da consulta.

Ao especificar as condições de intervalo, use greaterThan para definir o sinal de maior que (>) e greaterThanOrEqual para definir o sinal de maior ou igual a (≥).

to

Valor final da consulta.

Ao especificar as condições de intervalo, use lessThan para definir o sinal de menor que (<) e lessThanOrEqual para definir o sinal de menor ou igual a (≤).

includeLower

Define se o valor do parâmetro from deve ser incluído na resposta. Tipo: BOOLEAN.

includeUpper

Define se o valor do parâmetro to deve ser incluído na resposta. Tipo: BOOLEAN.

query

Tipo da consulta. Defina o parâmetro de consulta como RangeQuery.

sort

Método de ordenação. Para mais informações, consulte Ordenação e paginação.

getTotalCount

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

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

tableName

Nome da tabela de dados.

indexName

Nome do índice de busca.

columnsToGet

Determina se todas as colunas de cada linha correspondente devem ser retornadas. É possível configurar os campos returnAll e columns neste parâmetro.

O campo returnAll tem como valor padrão false, indicando que nem todas as colunas serão devolvidas. Nesse caso, utilize o campo columns para especificar quais colunas retornar. Sem essa especificação, apenas as colunas de chave primária serão incluídas no resultado.

Se o campo returnAll for definido como true, todas as colunas serão retornadas.

Métodos

É possível executar consultas de intervalo usando o console do Tablestore, a CLI do Tablestore ou os SDKs do Tablestore. Antes de iniciar, certifique-se de cumprir os seguintes pré-requisitos:

Usar o console do Tablestore

  1. Acesse a aba Index Management.

    1. Faça login no console do Table Store.

    2. Na barra de navegação superior, selecione um grupo de recursos e uma região.

    3. Na página Overview, clique em nome da instância ou em Instance Management na coluna Actions.

    4. Na aba Instance Details, dentro da aba Data Table List, clique em nome da tabela de dados ou em Index Management na coluna Actions.

  2. Na aba Index Management, localize o Search Index desejado e clique em Search na coluna Actions.

  3. Na caixa de diálogo Search, especifique as condições da consulta.

    1. Por padrão, todas as colunas são retornadas. Para retornar apenas colunas específicas, desative a opção Retrieve All Columns e insira os nomes das colunas separados por vírgulas.

      Nota

      Por padrão, o Table Store retorna as colunas de chave primária da tabela de dados.

    2. Escolha um operador lógico: And, Or ou Not.

      Ao selecionar And, a consulta retorna dados que atendem a todas as condições especificadas. A opção Or retorna dados que satisfazem pelo menos uma das condições. Já a opção Not devolve apenas os dados que não correspondem às condições definidas.

    3. Selecione um campo e clique em Add.

    4. Defina o parâmetro Query Type como RangeQuery(RangeQuery) e especifique o intervalo que deseja consultar.

      O intervalo é fechado à esquerda e aberto à direita. Configure-o conforme suas necessidades de negócio.

    5. A ordenação vem desativada por padrão. Para ordenar os resultados por um campo específico, ative a opção Enable Sorting, adicione o campo de ordenação e configure a ordem desejada.

    6. A agregação também permanece desativada inicialmente. Caso precise realizar agregações estatísticas em um campo específico, ative Enable Aggregation, adicione o campo para agregação e ajuste as configurações correspondentes.

  4. Clique em OK.

  5. Os dados que atendem aos critérios da consulta aparecerão na ordem especificada na aba Indexes.

Usar a CLI do Tablestore

Execute o comando search na CLI do Tablestore para consultar dados por meio de índices de busca. Para mais informações, consulte Índices de busca.

  1. Execute o comando search para usar o índice de busca search_index na consulta de dados, retornando todas as colunas indexadas de cada linha que atenda às condições.

    search -n search_index --return_all_indexed
  2. Insira as condições da consulta conforme solicitado pelo sistema:

    {
        "Offset": -1,
        "Limit": 10,
        "Collapse": null,
        "Sort": null,
        "GetTotalCount": true,
        "Token": null,
        "Query": {
            "Name": "RangeQuery",
            "Query": {
                "FieldName": "col_long",
                "From": 1,
                "To": 100,
                "IncludeLower": true,
                "IncludeUpper": false
            }
        }
    }

Usar SDKs do Tablestore

Realize consultas de intervalo utilizando os seguintes SDKs do Tablestore: Tablestore SDK for Java, Tablestore SDK for Go, Tablestore SDK for Python, Tablestore SDK for Node.js, Tablestore SDK for .NET e Tablestore SDK for PHP. Este exemplo utiliza o Tablestore SDK for Java.

private static void rangeQuery(SyncClient client) {
    SearchQuery searchQuery = new SearchQuery();
    RangeQuery rangeQuery = new RangeQuery(); // Set the query type to RangeQuery.
    
    /**
     * Example 1: Query the rows in which the value of the Col_Long column is greater than 3.
     */
    rangeQuery.setFieldName("Col_Long");
    rangeQuery.greaterThan(ColumnValue.fromLong(3));
    
    /**
     * //Example 2: Query the rows in which the value of the Col_Date_String column is greater than or equal to 2020-01-01 10:55:12 and less than 2021-03-03 08:20:50.
     * //The type of the Col_Date_String column is String in the data table and Date in the search index to which the data table is mapped. The values of the Col_Date_String column in the search index are in the yyyy-MM-dd HH:mm:ss format.
     * rangeQuery.setFieldName("Col_Date_String");
     * rangeQuery.greaterThanOrEqual(ColumnValue.fromString("2020-01-01 10:55:12"));
     * rangeQuery.lessThan(ColumnValue.fromString("2021-03-03 08:20:50"));
     */
     
    /**
     * //Example 3: Query the rows in which the value of the Col_Date_Long column is greater than 1731036722.
     * //The type of the Col_Date_Long column is Integer in the data table and Date in the search index to which the data table is mapped. The values of the Col_Date_Long column in the search index are timestamps in seconds.
     * rangeQuery.setFieldName("Col_Date_Long");
     * rangeQuery.greaterThan(ColumnValue.fromLong(1731036722));
     */
     
    searchQuery.setQuery(rangeQuery);
    searchQuery.setGetTotalCount(true); // Specify that the total number of rows that meet the query condition is returned.
    SearchRequest searchRequest = new SearchRequest("<TABLE_NAME>", "<SEARCH_INDEX_NAME>", searchQuery);
    //Configure the columnsToGet parameter to specify that specific columns or all columns are returned. If you do not configure the columnsToGet parameter, only the primary key columns are returned.
    //SearchRequest.ColumnsToGet columnsToGet = new SearchRequest.ColumnsToGet();
    // Specify that all columns are returned.
    //columnsToGet.setReturnAll(true);
    // Specify that specific columns are returned.
    //columnsToGet.setColumns(Arrays.asList("ColName1","ColName2"));
    //searchRequest.setColumnsToGet(columnsToGet);
    SearchResponse resp = client.search(searchRequest);
    
    //System.out.println("TotalCount: " + resp.getTotalCount());// Display the total number of matched rows instead of the number of returned rows is returned.
    System.out.println("Row: " + resp.getRows());
}

Faturamento

Consultar dados por meio de um Search Index consome throughput de leitura. Para mais informações, consulte Medição e faturamento do Search Index.

Perguntas frequentes

Referências