O recurso de consulta match all permite corresponder a todas as linhas de uma tabela para consultar o número total de linhas ou retornar várias linhas aleatórias.
Pré-requisitos
Instância OTSClient inicializada. Para mais informações, consulte Inicializar uma instância OTSClient.
Tabela de dados criada e dados gravados nela. Para mais informações, consulte Criar tabelas de dados e Gravar dados.
Índice de busca criado para a tabela de dados. Para mais informações, consulte Criar índices de busca.
Parâmetros
|
Parâmetro |
Descrição |
|
Query |
Tipo da consulta. Defina este parâmetro como MatchAllQuery. |
|
TableName |
Nome da tabela de dados. |
|
IndexName |
Nome do índice de busca. |
|
Limit |
Número máximo de linhas que a consulta atual deve retornar. Para consultar apenas o número de linhas que atendem às condições da consulta sem retornar dados específicos, defina este parâmetro como 0. |
|
GetTotalCount |
Indica se o sistema deve retornar o número total de linhas que atendem às condições da consulta. Valor padrão: false. Esse valor indica que o sistema não retorna o número total de linhas correspondentes. Definir este parâmetro como true compromete o desempenho da consulta. |
|
ColumnsToGet |
Indica se o sistema deve retornar todas as colunas das linhas que atendem às condições da consulta. Configure os parâmetros ReturnAll, Columns e ReturnAllFromIndex. Por padrão,
Defina |
Exemplo
O código de exemplo a seguir mostra como consultar o número total de linhas em uma tabela.
/// <summary>
/// Perform a match all query to query the total number of rows in a table.
/// </summary>
/// <param name="otsClient"></param>
public static void MatchAllQuery(OTSClient otsClient)
{
var searchQuery = new SearchQuery();
searchQuery.Query = new MatchAllQuery();
searchQuery.GetTotalCount = true; // Set the GetTotalCount parameter to true to return the total number of rows that meet the query conditions.
/*
* In the result of a match all query, the value of the TotalCount parameter indicates the total number of rows in the table.
* To query only the number of rows that meet the query conditions without specific data, set the Limit parameter to 0.
*/
searchQuery.Limit = 0;
var request = new SearchRequest(TableName, IndexName, searchQuery);
var response = otsClient.Search(request);
// Check whether all rows that meet the query conditions are returned. If the value of the isAllSuccess parameter is false, Tablestore may fail to query data on some servers, and not all rows that meet the query conditions are returned.
Console.WriteLine("IsAllSuccess:" + response.IsAllSuccess);
Console.WriteLine("Total Count:" + response.TotalCount);
}
Perguntas frequentes
Referências
-
Ao usar um índice de busca para consultar dados, utilize os seguintes métodos: consulta de termo, consulta de termos, consulta match all, consulta match, consulta match phrase, consulta de prefixo, consulta de intervalo, consulta curinga, consulta booleana, consulta geográfica, consulta aninhada e consulta exists. Use diferentes métodos para obter dados de múltiplas dimensões conforme suas necessidades de negócio.
Ordene ou pagine as linhas que atendem às condições da consulta usando os recursos de ordenação e paginação. Para mais informações, consulte Ordenação e paginação.
O recurso de collapse (distinct) agrupa o conjunto de resultados com base em uma coluna específica. Assim, os dados do tipo especificado aparecem apenas uma vez nos resultados da consulta. Para mais informações, consulte Collapse (distinct).
Para analisar dados em uma tabela de dados, utilize o recurso de agregação da operação Search ou execute instruções SQL. Por exemplo, obtenha valores mínimos e máximos, soma e número total de linhas. Para mais informações, consulte Agregação e Consulta SQL.
Para obter todas as linhas que atendem às condições da consulta sem precisar ordená-las, chame as operações ParallelScan e ComputeSplits para usar o recurso de varredura paralela. Para mais informações, consulte Varredura paralela.