Todos os produtos
Search
Central de documentação

Tablestore:Collapse (distinct)

Última atualização: Jul 03, 2026

Use o recurso de collapse para remover duplicatas dos resultados de busca com base em uma coluna específica. Quando os resultados da consulta contêm grandes volumes de dados de um tipo específico, o collapse exibe esses dados apenas uma vez nos resultados retornados, garantindo a diversidade dos tipos de resultado.

Pré-requisitos

Observações

  • O recurso collapse oferece suporte à paginação apenas por meio de offset e limit. Não há suporte para paginação baseada em token.

  • Ao usar agregação estatística e collapse no mesmo conjunto de resultados, a agregação é aplicada antes do agrupamento dos dados.

  • Após o uso do recurso collapse, os parâmetros offset e limit restringem o número total de grupos retornados. O recurso retorna no máximo 100.000 grupos.

  • A contagem total de linhas retornada nos resultados refere-se ao número de linhas correspondentes antes da operação de collapse. Não é possível obter o número total de grupos após o agrupamento.

Parâmetros

Parâmetro

Descrição

table_name

Nome da tabela de dados.

index_name

Nome do índice de busca.

query

Tipo de consulta. Defina como qualquer tipo de consulta compatível.

collapse

Agrupa o conjunto de resultados pela coluna especificada. Apenas colunas INTEGER, FLOATING-POINT e KEYWORD são compatíveis.

field_name: nome da coluna usada para o agrupamento.

offset

Posição inicial da consulta.

limit

Número máximo de linhas a retornar. Defina limit como 0 para retornar apenas a contagem de linhas, sem os dados reais.

Exemplos

O código de exemplo a seguir demonstra como usar um índice de busca para obter até 10 registros únicos de palavras-chave na tabela php_sdk_test e retornar dados das colunas col1 e col2.

$request = array(
    'table_name' => 'php_sdk_test',
    'index_name' => 'php_sdk_test_search_index',
    'search_query' => array(
        'offset' => 0,
        'limit' => 10,
        'get_total_count' => true,
        'collapse' => array(
            'field_name' => 'keyword'
        ),
        'query' => array(
            'query_type' => QueryTypeConst::MATCH_ALL_QUERY
        ),
//        'sort' => array(// Specify a specific sorting method if required. 
//            array(
//                'field_sort' => array(
//                    'field_name' => 'keyword',
//                    'order' => SortOrderConst::SORT_ORDER_ASC
//                )
//            ),
//        ),
        'token' => null,
    ),
    'columns_to_get' => array(
        'return_type' => ColumnReturnTypeConst::RETURN_SPECIFIED,
        'return_names' => array('col1', 'col2')
    )
);
$response = $otsClient->search($request);

FAQ

Referências