too_many_buckets_exception: Trying to create too many buckets
ElasticsearchWas bedeutet das?
Eine Aggregationsabfrage wollte mehr Buckets erzeugen als die erlaubte Obergrenze (search.max_buckets, Standard 65.536). Die Abfrage wurde zum Schutz des Speichers abgelehnt.
Ursache
Aggregationen wie terms/date_histogram laufen auf Feldern hoher Kardinalität mit sehr großem size oder sehr feinem Intervall; verschachtelte Aggregationen vervielfachen die Bucket-Anzahl. Das Limit wird durchgesetzt, weil übermäßiges Erzeugen von Buckets den Speicher eines Knotens erschöpfen kann.
Lösung
Reduziere die Zahl der erzeugten Buckets: Senke size bei terms-Aggregationen, vergrößere das date_histogram-Intervall, entferne unnötige verschachtelte Aggregationen. Werden viele Ergebnisse benötigt, blättere mit einer composite-Aggregation durch sie. Das Limit anzuheben sollte das letzte Mittel sein und birgt ein Speicherrisiko: search.max_buckets lässt sich mit PUT _cluster/settings ändern, tu das aber mit Bedacht.
Weitere Einträge zu dieser Datenbank
- node_not_connected_exceptionNode is not connected
- receive_timeout_transport_exceptionRequest timed out waiting for a response from another node
- routing_missing_exceptionRouting value is required for this document
- shard_lock_obtain_failed_exceptionObtaining shard lock timed out
- parsing_exceptionFailed to parse the search request / query DSL
- max_bytes_length_exceeded_exceptionDocument contains at least one immense term that is too long
- illegal_argument_exception_total_fieldsLimit of total fields has been exceeded