too_many_buckets_exception: Trying to create too many buckets
ElasticsearchO que significa?
Uma consulta de agregação tentou produzir mais buckets do que o limite superior permitido (search.max_buckets, padrão 65.536). A consulta foi rejeitada para proteger a memória.
Por que acontece?
Agregações como terms/date_histogram executadas em campos de alta cardinalidade com um size muito grande ou um intervalo muito fino; agregações aninhadas multiplicando a quantidade de buckets. O limite é aplicado porque a criação excessiva de buckets pode esgotar a memória do nó.
Como resolver
Reduza o número de buckets produzidos: diminua o size das agregações terms, amplie o intervalo do date_histogram, remova agregações aninhadas desnecessárias. Se forem necessários muitos resultados, pagine-os com uma agregação composite. Aumentar o limite deve ser o último recurso e traz risco de memória: search.max_buckets pode ser alterado com PUT _cluster/settings, mas faça isso com cuidado.
Mais entradas deste banco
- node_not_connected_exceptionNode is not connected
- receive_timeout_transport_exceptionRequest timed out waiting for a response from another node (timeout aguardando a resposta de outro nó)
- routing_missing_exceptionRouting value is required for this document (este documento exige um valor de routing)
- shard_lock_obtain_failed_exceptionObtaining shard lock timed out
- parsing_exceptionFailed to parse the search request / query DSL (não foi possível interpretar a requisição de busca / o query DSL)
- max_bytes_length_exceeded_exceptionDocument contains at least one immense term that is too long (o documento contém pelo menos um termo enorme longo demais)
- illegal_argument_exception_total_fieldsLimit of total fields has been exceeded