Menu Docs
Página inicial do Docs
/
MongoDB Atlas
/

Criar e Executar Queries do Atlas Search

Nesta página

  • Clientes aceitos
  • Próximos passos

As queries do Atlas Search assumem a forma de uma fase do pipeline de agregação. O Atlas Search fornece as fases $search e $searchMeta, que devem ser a primeira fase em qualquer pipeline de query, incluindo os sub-pipelines $lookup e $unionWith. Essas fases podem ser usadas em conjunto com outras fases do pipeline de agregação no pipeline de query. Para saber mais sobre essas fases do pipeline, consulte Escolher a fase do pipeline de agregação.

O Atlas Search também fornece operadores e coletores de query que você pode usar dentro dos estágios de pipeline de agregação $search e $searchMeta. Os operadores do Atlas Search permitem a você localizar e recuperar dados relevantes da coleção no seu cluster do Atlas. O coletor retorna um documento representando os resultados dos metadados de pesquisa.

Você pode usar os operadores do Atlas Search para consultar termos, frases, formas e pontos geográficos, valores numéricos, documentos semelhantes, termos sinônimos e muito mais. Você também pode pesquisar utilizando expressões regex e asteriscos. O operador composto do Atlas Search permite que você combine vários operadores dentro do seu estágio $search para realizar uma pesquisa complexa e filtrar dados com base no que deve, não deve ou deveria estar presente nos documentos retornados pelo Atlas Search. Você pode usar o operador composto para também corresponder ou filtrar documentos no próprio estágio $search. A execução de $match após $search tem menos desempenho do que a execução de $search com o operador composto.

Para saber mais sobre a sintaxe, as opções e o uso dos operadores da Atlas Search, consulte Usar operadores e coletores em queries do Atlas Search.

mongod e mongot no mesmo nó

Quando você executa uma query, o Atlas Search utiliza a preferência de leitura configurada para identificar o nó no qual executar a query. A query primeiro vai para o processo do MongoDB, que é mongod para um cluster de conjunto de réplicas ou mongos para um cluster fragmentado.

Para um cluster de conjunto de réplicas, o processo do MongoDB roteia a query para mongot no mesmo nó. Para clusters fragmentados, os dados do cluster são particionados em instâncias mongod e cada mongot sabe dos dados apenas no mongod do mesmo nó. Portanto, você não pode executar queries do Atlas Search que tenham como alvo um fragmento específico. mongos direciona as queries para todos os fragmentos, fazendo essas queries de coleta de dispersão. Se você usar zonas para distribuir uma coleção fragmentada em um subconjunto dos fragmentos no cluster, o Atlas Search roteará a query para a zona que contém os fragmentos da coleção na qual você está fazendo query e executará suas queries $search somente nos fragmentos em que a coleção está localizada.

O Atlas Search realiza a pesquisa e a pontuação e retorna os IDs dos documentos e outros metadados da pesquisa dos resultados correspondentes para mongod. O mongod então realiza uma pesquisa completa do documento implicitamente para os resultados correspondentes e retorna os resultados ao cliente. Se você utilizar a opção $search concorrente na sua query, o Atlas Search ativará o paralelismo intraquery. Para saber mais, consulte Paralelizar a execução de query entre segmentos.

mongod e mongot em diferentes nós

Quando você executa uma consulta, a consulta primeiro vai para o mongod com base na preferência de leitura configurada. O processo mongod encaminha a query de pesquisa por meio de um balanceador de carga no mesmo nó, que distribui as solicitações entre todos os processos mongot.

O Atlas Search mongot executa a pesquisa e pontuação e retorna os IDs dos documentos e metadados dos resultados correspondentes para mongod. Em seguida, o mongod executa uma pesquisa completa de documentos para os resultados correspondentes e retorna os resultados para o cliente. Se você usar a opção $search concorrente em sua query, o Atlas Search ativará o paralelismo intraquery. Para saber mais, consulte Paralelizar a execução de query entre segmentos.

O Atlas Search associa uma pontuação baseada em relevância a cada documento no conjunto de resultados. A pontuação baseada em relevância permite que Atlas Search devolva documentos na ordem da pontuação mais alta para a mais baixa. Atlas Search pontua os documentos mais alto se o query aparecer com frequência em um documento e mais baixo se o query aparecer em muitos documentos da collection. O Atlas Search também oferece suporte à personalização da pontuação padrão baseada em relevância por meio de aumento, decadência ou outras opções de modificação. Para saber mais sobre como personalizar as pontuações resultantes, consulte Classificar os documentos nos resultados.

Dica

Veja também: Aprenda Assistindo

Assista a este vídeo para ter uma visão geral de pesquisa e rastreamento de suas queries com o Atlas Search. Neste vídeo, você pode aprender mais sobre operadores do Atlas Search e como os documentos de o Atlas Search pontua documentos nos resultados.

Duração: 15 Minutos

Você pode criar e executar queries do Atlas Search usando o seguinte:

Para saber como criar e executar uma query, consulte Criar uma query. Para obter experiência prática na criação de índices do Atlas Search e na execução de queries do Atlas Search nos conjuntos de dados de amostra, experimente os tutoriais nas páginas a seguir:

Voltar

Update