Escolha o estágio do pipeline de agregação
As queries do Atlas Search são executadas dentro de um estágio de pipeline de agregação, que é o método preferido para realizar agregações.
Operações de agregação processam diversos documentos e geram resultados calculados. Você pode usar operações de agregação para:
Agrupar valores de diversos documentos.
Executar operações nos dados agrupados para gerar um único resultado.
Analisar alterações de dados ao longo do tempo.
Você pode usar o $search
$searchMeta
estágio ou como o primeiro estágio no agregação pipeline.
Estágio do pipeline de agregação | Descrição |
---|---|
Realiza pesquisas de texto completo e retorna uma lista ordenada de documentos junto com metadados de pesquisa adicionais. Use | |
Realiza pesquisas de texto completo e retorna os metadados sem buscar os documentos. Use |
Após a conclusão do estágio $search
ou $searchMeta
, você poderá usar estágios de agregação adicionais para processar documentos ainda mais. Por exemplo, você pode usar um ou mais dos seguintes estágios, além de outros estágios:
Estágio do pipeline de agregação | Descrição |
---|---|
Limita o número de documentos passados para o estágio seguinte no pipeline. | |
Ignora documentos que passam para o estágio e passa os documentos restantes para o próximo estágio no pipeline. | |
Passa documentos com os campos solicitados para o próximo estágio do pipeline. | |
Adiciona novos campos aos documentos. | |
Processa vários agregação pipelines em um único estágio no mesmo conjunto de documentos de entrada. | |
Filtra documentos com base em um predicado de query especificado e passa documentos correspondentes para o próximo estágio do pipeline. | |
Combina documentos com os mesmos campos ou expressão em um único documento por uma chave de grupo. | |
Executa uma união externa esquerda em uma collection no mesmo banco de dados para filtrar documentos da collection "unida" para processamento. |
Ao adicionar esses estágios ao seu pipeline de agregação , considere o impacto potencialmente significativo no desempenho.
Para melhorar o desempenho, recomendamos que você use $limit
para os resultados da pesquisa, paginar pelos resultados da pesquisa conforme necessário e recuperar os resultados da pesquisa após um ponto de referência.