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

Paralelizar a execução de queries entre segmentos

Nesta página

  • Sintaxe
  • Comportamento
  • Limitação
  • Exemplo

A opção concurrent habilita o paralelismo intra-consulta. Nesse modo, o Atlas Search utiliza mais recursos, mas melhora a latência de cada query individual. Esse recurso está disponível somente para nós de pesquisa dedicados.

concurrent tem a seguinte sintaxe:

{
"$searchMeta"|"$search": {
"index": "<index name>", // optional, defaults to "default"
"<operator>": {
<operator-specifications>
},
"concurrent": true | false,
...
}
}

A opção booleana concurrent permite que você solicite o Atlas Search para paralelizar a execução de consultas entre segmentos, o que, em muitos casos, melhora o tempo de resposta. Você pode definir um dos seguintes valores para a opção concurrent:

  • true - para solicitar ao Atlas Search para executar a query multi-thread

  • false - para executar a query de thread único (padrão)

O Atlas Search fornece controle sobre esse comportamento a cada query a fim de habilitar a execução simultânea apenas para queries pesadas e de longa execução, o que minimiza a contenção e melhora a taxa de transferência geral da query. A execução simultânea é particularmente eficiente em grandes conjuntos de dados, pois há uma quantidade maior de segmentos.

Quando você executa queries com a opção concurrent, o Atlas Search não garante que cada query seja executada simultaneamente. Por exemplo, quando muitas queries simultâneas estão na fila, o Atlas Search pode voltar à execução de thread único.

Considere a seguinte consulta na coleção sample_mflix.movies nos dados de exemplo. A consulta indica uma pesquisa simultânea de filmes que contêm o termo new york no title.

1db.movies.aggregate([
2 {
3 "$search": {
4 "text": {
5 "path": "title",
6 "query": "new york"
7 },
8 "concurrent": true
9 }
10 }
11])

Voltar

1. Classificar resultados