Use a match all query para corresponder a todas as linhas de uma tabela, consultar o número total de linhas ou retornar várias linhas aleatórias.
Pré-requisitos
Cliente do Tablestore inicializado. Para mais informações, consulte Inicializar um cliente do Tablestore.
Tabela de dados criada e com dados gravados. Para mais informações, consulte Criar uma tabela de dados e Gravar dados.
Índice de busca criado para a tabela de dados. Para mais informações, consulte Criar um índice de busca.
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 busca. |
|
limit |
Número máximo de linhas a serem retornadas pela consulta atual. Para retornar múltiplas 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 que atendem aos critérios, sem recuperar os 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, utilize o campo columns para especificar quais colunas deseja obter. Se nenhuma coluna for especificada, apenas as colunas de chave primária serão retornadas. Se você definir o campo returnAll como true, todas as colunas serão incluídas no resultado. |
|
getTotalCount |
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 será incluída na resposta. Definir este parâmetro como true pode comprometer o desempenho da consulta. |
Código de exemplo
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());
}
FAQ
Referências
-
Ao utilizar um índice de busca para consultar dados, você tem à disposição os seguintes métodos: term query, terms query, match all query, match query, match phrase query, prefix query, range query, wildcard query, geo query, KNN vector query, Boolean query, nested query e exists query. Após criar o índice de busca, utilize esses métodos para realizar consultas multidimensionais conforme as necessidades do seu negócio.
Os recursos de ordenação e paginação permitem organizar ou paginar as linhas correspondentes. Para mais detalhes, consulte Realizar ordenação e paginação.
Utilize o recurso de collapse (distinct) para agrupar o conjunto de resultados com base em uma coluna específica, garantindo que dados do tipo especificado apareçam apenas uma vez nos resultados da consulta. Para mais informações, consulte Collapse (distinct).
Para analisar dados em uma tabela, chame a operação Search para usar o recurso de agregação ou utilize o recurso de consulta SQL. Isso permite obter valores máximos e mínimos, somas e contagens de linhas, entre outros. Para mais informações, consulte Agregação e Consulta SQL.
Caso precise obter todas as linhas correspondentes sem a necessidade de ordenação, utilize o recurso de varredura paralela chamando as operações ParallelScan e ComputeSplits. Para mais informações, consulte Varredura paralela.