O recurso de collapse (distinct) remove duplicatas dos resultados de pesquisa com base em uma coluna especificada e retorna um resultado por valor único para aumentar a diversidade dos dados retornados.
Pré-requisitos
Instância OTSClient inicializada. Para mais informações, consulte Inicializar uma instância OTSClient.
Tabela de dados criada e preenchida. Para mais informações, consulte Criar tabelas de dados e Gravar dados.
Índice de pesquisa criado para a tabela de dados. Para mais informações, consulte Criar índices de pesquisa.
Observações
O recurso de collapse oferece suporte à paginação apenas pelo método Offset+Limit. O método de token não é compatível.
Se você usar agregação estatística e o recurso de collapse no mesmo conjunto de resultados, a agregação estatística será aplicada antes do colapso dos dados.
Após o uso do recurso de collapse, o número total de grupos retornados corresponde à soma de Offset e Limit. O máximo de grupos que podem ser retornados é 100.000.
O número total de linhas retornadas reflete a quantidade de linhas correspondentes antes da aplicação do collapse. Não é possível obter o número total de grupos após o colapso.
Parâmetros
|
Parâmetro |
Descrição |
|
TableName |
Nome da tabela de dados. |
|
IndexName |
Nome do índice de pesquisa. |
|
Query |
Aceita qualquer tipo de consulta. |
|
Collapse |
Configurações do parâmetro de collapse, que incluem FieldName. FieldName: nome da coluna usada para colapsar o conjunto de resultados. Este recurso aceita apenas colunas dos tipos inteiro, ponto flutuante e Keyword. Colunas do tipo array não são suportadas. |
|
Offset |
Posição inicial da consulta. |
|
Limit |
Número máximo de itens a serem retornados pela consulta. Se precisar apenas da contagem de linhas sem os dados, defina Limit como 0. Nenhuma linha será retornada. |
Exemplos
O exemplo abaixo consulta todas as linhas de uma tabela e aplica o collapse no conjunto de resultados com base na coluna pk0, garantindo que apenas uma linha por valor único de pk0 seja retornada.
/// <summary>
/// Collapses the result set by the pk0 column.
/// </summary>
/// <param name="otsClient"></param>
public static void UseCollapse(OTSClient otsClient)
{
MatchAllQuery matchAllQuery = new MatchAllQuery();
Collapse collapse = new Collapse();
collapse.FieldName = "pk0";
SearchQuery searchQuery = new SearchQuery();
searchQuery.Query = matchAllQuery;
searchQuery.Collapse = collapse;
SearchRequest searchRequest = new SearchRequest(TableName, IndexName, searchQuery);
SearchResponse searchResponse = otsClient.Search(searchRequest);
foreach (Row row in searchResponse.Rows)
{
Console.WriteLine(JsonConvert.SerializeObject(row));
}
}
FAQ
Referências
-
Ao consultar dados com um índice de pesquisa, 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 com curinga, consulta booleana, consulta geográfica, consulta aninhada e consulta exists. Combine diferentes métodos para consultar dados sob múltiplas dimensões conforme suas necessidades de negócio.
Para ordenar ou paginar as linhas que atendem aos critérios de consulta, utilize os recursos de classificação e paginação. Para mais informações, consulte Classificação e paginação.
Utilize o recurso de collapse (distinct) para agrupar o conjunto de resultados com base em uma coluna específica. Assim, 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, utilize o recurso de agregação da operação Search ou execute instruções SQL. É possível obter valores mínimos e máximos, somas e o número total de linhas. Para mais informações, consulte Agregação e Consulta SQL.
Caso precise obter todas as linhas correspondentes aos critérios de consulta sem ordená-las, chame as operações ParallelScan e ComputeSplits para usar o recurso de varredura paralela. Para mais informações, consulte Varredura paralela.