too_many_buckets_exception: Trying to create too many buckets
Elasticsearch¿Qué significa?
Una consulta de agregación intentó producir más buckets que el límite superior permitido (search.max_buckets, 65,536 por defecto). La consulta se rechazó para proteger la memoria.
¿Por qué ocurre?
Agregaciones como terms/date_histogram ejecutadas sobre campos de alta cardinalidad con un size muy grande o un intervalo muy fino; agregaciones anidadas que multiplican el número de buckets. El límite se aplica porque crear buckets en exceso puede agotar la memoria del nodo.
Cómo solucionarlo
Reduzca el número de buckets producidos: baje el size de las agregaciones terms, amplíe el intervalo de date_histogram, elimine las agregaciones anidadas innecesarias. Si se necesitan muchos resultados, recórralos por páginas con una composite aggregation. Subir el límite debe ser el último recurso y conlleva riesgo de memoria: search.max_buckets puede cambiarse con PUT _cluster/settings, pero hágalo con cuidado.
Más entradas de este motor
- node_not_connected_exceptionNode is not connected
- receive_timeout_transport_exceptionRequest timed out waiting for a response from another node (timeout esperando la respuesta de otro nodo)
- routing_missing_exceptionRouting value is required for this document (este documento requiere un valor de routing)
- shard_lock_obtain_failed_exceptionObtaining shard lock timed out
- parsing_exceptionFailed to parse the search request / query DSL (no se pudo analizar la solicitud de búsqueda / el query DSL)
- max_bytes_length_exceeded_exceptionDocument contains at least one immense term that is too long (el documento contiene al menos un término enorme demasiado largo)
- illegal_argument_exception_total_fieldsLimit of total fields has been exceeded