Menu Docs

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 $search para recuperar documentos correspondentes com ou sem facets.

Realiza pesquisas de texto completo e retorna os metadados sem buscar os documentos. Use $searchMeta para recuperar somente os metadados sobre os resultados da pesquisa, como a contagem total de documentos ou facets correspondentes.

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.