Use o recurso de collapse (distinct) para agrupar o conjunto de resultados com base em uma coluna específica quando a consulta retornar grandes volumes de dados de um mesmo tipo. Os dados desse tipo aparecem apenas uma vez nos resultados, garantindo a diversidade dos tipos retornados.
Na maioria dos cenários, use o recurso de collapse (distinct) para obter valores distintos com base nas colunas agrupadas. No entanto, esse recurso é compatível apenas com colunas cujos valores sejam do tipo INTEGER, FLOATING-POINT ou KEYWORD. Somente os 100.000 primeiros resultados são retornados.
Observações de uso
Ao usar o recurso de collapse (distinct), realize a paginação especificando os parâmetros offset e limit.
Se você agregar e agrupar um conjunto de resultados simultaneamente, a agregação ocorrerá antes do agrupamento.
Ao agrupar os resultados de uma consulta, o número total de resultados retornados corresponde à soma dos valores dos parâmetros offset e limit. O limite máximo é de 100.000 resultados.
A contagem total de linhas na resposta reflete a quantidade de linhas que atendem às condições da consulta antes da aplicação do recurso de collapse (distinct). Após o agrupamento do conjunto de resultados, não é possível consultar o número total de valores distintos.
Operação de API
Configure o parâmetro collapse na operação Search para implementar o recurso de collapse (distinct).
Parâmetros
Parâmetro | Descrição |
query | Tipo da consulta. Defina este parâmetro como qualquer tipo de consulta válido. |
collapse | Agrupa o conjunto de resultados com base na coluna especificada pelo campo fieldName. fieldName: nome da coluna usada como base para o agrupamento do conjunto de resultados. Apenas colunas com valores do tipo INTEGER, FLOATING-POINT ou KEYWORD são compatíveis. |
offset | Posição inicial da consulta atual. |
limit | Número máximo de linhas que a consulta atual deve retornar. Para obter apenas a contagem de linhas que atendem às condições da consulta, sem recuperar os dados, defina o parâmetro limit como 0. |
getTotalCount | Define se o número total de linhas que atendem às condições da consulta será retornado. O valor padrão é false, indicando que a contagem total não será incluída na resposta. Definir este parâmetro como true pode comprometer o desempenho da consulta. |
tableName | Nome da tabela de dados. |
indexName | Nome do search index. |
columnsToGet | Indica se todas as colunas de cada linha correspondente devem ser retornadas. É possível configurar os campos returnAll e columns neste parâmetro. O valor padrão do campo returnAll é false, o que significa que nem todas as colunas serão devolvidas. Nesse caso, use o campo columns para definir quais colunas deseja receber. Se nenhuma coluna for especificada, apenas as colunas de chave primária serão retornadas. Ao definir o campo returnAll como true, todas as colunas são incluídas no resultado. |
Métodos
Agrupe os resultados de uma consulta de dados usando a CLI do Tablestore ou os SDKs do Tablestore. Antes de utilizar o recurso de collapse (distinct), certifique-se de atender aos seguintes pré-requisitos:
-
Utilize uma conta Alibaba Cloud ou um usuário RAM com as permissões necessárias para operações no Table Store. Para conceder permissões a um usuário RAM, consulte Conceder permissões a um usuário RAM usando uma política RAM.
Caso utilize um SDK ou ferramenta de linha de comando, crie um AccessKey para sua conta Alibaba Cloud ou usuário RAM, caso ainda não possua um.
Você já criou uma tabela de dados.
Um Search Index foi criado para a tabela de dados.
Se estiver usando um SDK, inicialize o Tablestore Client.
Para usuários da ferramenta de linha de comando, baixe e inicie a ferramenta, configure a conexão com sua instância e selecione a tabela desejada. Para mais detalhes, consulte Baixar a ferramenta de linha de comando, Iniciar a ferramenta e configurar informações de conexão e Operações de tabela de dados.
Regras de faturamento
Consultas de dados realizadas por meio de search indexes consomem throughput de leitura. Para mais informações, consulte Itens faturáveis de search indexes.
O recurso de collapse (distinct) não altera as regras de faturamento vigentes.
Perguntas frequentes
Referências
O Search Index oferece diversos tipos de consulta para buscas multidimensionais, incluindo term query, terms query, match all query, match query, phrase match query, range query, prefix query, suffix query, wildcard query, token-based wildcard query, boolean query, geo query, nested query, vector search, e exists query.
Durante a consulta de dados, é possível ordenar e paginar o conjunto de resultados ou aplicar agrupamento (deduplicação).
Para análises de dados, como identificar valores máximos ou mínimos, calcular somas ou contar linhas, utilize os recursos de agregação estatística ou consulta SQL.
Para exportar dados rapidamente, independentemente da ordem do conjunto de resultados, utilize o recurso Parallel Scan.