Docs Menu
Docs Home
/ /

Paralelizar la ejecución de consultas en todos los segmentos

El concurrent Esta opción permite el paralelismo entre consultas. En este modo, MongoDB Search utiliza más recursos, pero mejora la latencia de cada consulta. Esta función solo está disponible para Nodos de búsqueda dedicados.

Al ejecutar consultas con la opción concurrent, MongoDB Search no garantiza que cada consulta se ejecute simultáneamente. Por ejemplo, si hay demasiadas consultas simultáneas en cola, MongoDB Search podría recurrir a la ejecución en un solo subproceso.

concurrent tiene la siguiente sintaxis:

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

La opción booleana concurrent te permite solicitar a MongoDB Search que paralelice la ejecución de queries entre segmentos, lo que en muchos casos mejora el tiempo de respuesta. Puedes establecer uno de los siguientes valores para la opción concurrent:

  • true - para solicitar a MongoDB Search que ejecute la consulta multiproceso

  • false - para ejecutar la consulta en un solo subproceso (predeterminado)

MongoDB Search le permite controlar este comportamiento por consulta para permitir la ejecución concurrente solo en consultas pesadas y de larga duración, lo que minimiza la contención y mejora el rendimiento general de las consultas. La ejecución concurrente es especialmente eficiente en conjuntos de datos grandes, ya que hay una mayor cantidad de segmentos.

Considere la siguiente consulta sobre la colección sample_mflix.movies en los datos de ejemplo. La consulta indica una búsqueda simultánea de películas que contienen el término new york titleen.

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

Volver

Opciones de rendimiento

En esta página