Todos os produtos
Search
Central de documentação

Tablestore:Consulta match all

Última atualização: Jul 03, 2026

Use a consulta match all para corresponder a todas as linhas de uma tabela, consultar o número total de linhas ou retornar várias linhas aleatórias.

Operação da API

Para executar uma consulta match all, chame a operação Search ou ParallelScan e defina o tipo de consulta como MatchAllQuery.

Parâmetros

Parâmetro

Descrição

query

Tipo da consulta. Defina o parâmetro query como MatchAllQuery.

tableName

Nome da tabela de dados.

indexName

Nome do índice de pesquisa.

limit

Número máximo de linhas a serem retornadas pela consulta atual.

Para retornar várias linhas de dados aleatórias na consulta atual, defina o parâmetro limit como um número inteiro positivo.

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

columnsToGet

Define se todas as colunas de cada linha correspondente devem ser retornadas. Configure os campos returnAll e columns no parâmetro columnsToGet.

O valor padrão do campo returnAll é false, indicando que nem todas as colunas serão retornadas. Nesse caso, use o campo columns para especificar as colunas desejadas. Sem essa especificação, apenas as colunas de chave primária são retornadas.

Se o campo returnAll for definido como true, todas as colunas serão incluídas na resposta.

getTotalCount

Indica se o total de linhas correspondentes deve ser retornado. O valor padrão é false, o que significa que a contagem total não é incluída na resposta.

Definir esse parâmetro como true pode reduzir o desempenho da consulta.

Métodos

Use a CLI do Tablestore ou os SDKs do Tablestore para executar consultas match all. Antes de iniciar, certifique-se de cumprir os seguintes pré-requisitos:

Usar a CLI do Tablestore

Use a CLI do Tablestore para executar o comando search e consultar dados por meio de índices de pesquisa. Para mais informações, consulte Índice de pesquisa.

  1. Execute o comando search usando o índice search_index para consultar dados e retornar todas as colunas indexadas das linhas correspondentes.

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

    {
        "Offset": -1,
        "Limit": 10,
        "Collapse": null,
        "Sort": null,
        "GetTotalCount": true,
        "Token": null,
        "Query": {
            "Name": "MatchAllQuery",
            "Query": {
            }
        }
    }

Usar SDKs do Tablestore

Execute consultas match all usando 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 usa o Tablestore SDK for Java.

O código abaixo demonstra como consultar o número total de linhas em uma tabela:

/**
 * Use the match all query feature to query the total number of rows in a table. 
 * @param client
 */
private static void matchAllQuery(SyncClient client) {
    SearchQuery searchQuery = new SearchQuery();

    /**
    * Set the query type to MatchAllQuery. 
    */
    searchQuery.setQuery(new MatchAllQuery()); 

    /**
     * In the MatchAllQuery-based query result, the value of TotalCount is the total number of rows in the table. 
     * If you want the current query to return multiple random rows of data, set the limit parameter to a positive integer. 
     * To query only the number of rows that meet the query conditions without querying specific data of the rows, set the limit parameter to 0. 
     */
    searchQuery.setLimit(0);
    SearchRequest searchRequest = new SearchRequest("<TABLE_NAME>", "<SEARCH_INDEX_NAME>", searchQuery);

    /**
    * Specify that the total number of rows that meet the query conditions is returned. 
    */ 
    searchQuery.setGetTotalCount(true);
    SearchResponse resp = client.search(searchRequest);
    /**
     * Check whether the returned total number of rows that meet the query conditions is correct. If isAllSuccess is false, Tablestore may fail to query data on all servers and return a value that is smaller than the total number of rows that meet the query conditions. 
     */
    if (!resp.isAllSuccess()) {
        System.out.println("NotAllSuccess!");
    }
    System.out.println("IsAllSuccess: " + resp.isAllSuccess());
    System.out.println("TotalCount: " + resp.getTotalCount()); // Display the total number of rows that meet the query conditions. 
    System.out.println(resp.getRequestId());
}
            

Faturamento

A consulta de dados via Índice de Pesquisa consome throughput de leitura. Para mais informações, consulte Medição e faturamento do Índice de Pesquisa.

Perguntas frequentes

Como consulto o número total de linhas em uma tabela?

Referências