Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Docs Menu

Paraleliza la ejecución de consultas en todos los segmentos

La opción concurrent permite el paralelismo entre query. En este modo, MongoDB Search utiliza más recursos, pero mejora la latencia de cada query individual. Esta funcionalidad solo está disponible para nodos de búsqueda dedicados.

Al ejecutar consultas con la opción concurrent, MongoDB Search no garantiza que cada query se ejecute de forma concurrente. Por ejemplo, cuando hay demasiadas queries concurrentes en cola, MongoDB Search podría recurrir a la ejecución en un solo hilo.

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 que MongoDB Search ejecute la query con múltiples subprocesos

  • false - para ejecutar la query en un solo hilo (por defecto)

MongoDB Search te permite controlar este comportamiento query por query para permitir la ejecución simultánea solo de queries intensas y de larga duración, lo que minimiza la contención y mejora el rendimiento de la query en general. La ejecución concurrente es especialmente eficiente en grandes conjuntos de datos, ya que hay una mayor cantidad de segmentos.

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

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