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 intraconsulta. Nesse modo, o Atlas Search utiliza mais recursos, mas melhora cada latência de query individual. Esse recurso só está disponível paranó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 solicitar ao Atlas Search para paralelizar a execução de consultas entre segmentos, o que, em muitos casos, melhora o tempo de resposta. Você pode configurar 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 será executada simultaneamente. Por exemplo, quando muitas queries simultâneas são enfileiradas, o Atlas Search pode voltar para a execução de thread único.

Considere a seguinte query na coleção sample_mflix.movies nos dados de amostra. A query 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])
← 1. Classificar resultados