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
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 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.
Observações
O recurso
collapseoferece suporte à paginação apenas por meio deoffsetelimit. Não há suporte para paginação baseada em token.Ao usar agregação estatística e
collapseno mesmo conjunto de resultados, a agregação é aplicada antes do agrupamento dos dados.Após o uso do recurso
collapse, os parâmetrosoffsetelimitrestringem 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.
|
|
offset |
Posição inicial da consulta. |
|
limit |
Número máximo de linhas a retornar. Defina |
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
-
Ao consultar dados com um índice de busca, 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 em múltiplas dimensões conforme as necessidades do seu negócio.
Para ordenar ou paginar as linhas que atendem às condições da consulta, utilize o recurso de ordenação e paginação. Para mais informações, consulte Ordenação e paginação.
Caso precise agrupar o conjunto de resultados com base em uma coluna específica, utilize o recurso collapse (distinct). Dessa forma, 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, como obter valores extremos, soma e número total de linhas, execute operações de agregação ou instruções SQL. Para mais informações, consulte Agregação e Consulta SQL.
Para obter rapidamente todas as linhas que atendem às condições da consulta sem necessidade de ordenação, chame as operações ParallelScan e ComputeSplits para utilizar o recurso de varredura paralela. Para mais informações, consulte Varredura paralela.