DBAtlas · データベース運用アトラス

too_many_buckets_exception: Trying to create too many buckets(作成しようとしたバケットが多すぎる)

Elasticsearch

意味

集計クエリが許容上限 (search.max_buckets、デフォルト 65,536) を超えるバケットを生成しようとした。メモリを保護するためクエリが拒否された。

原因

カーディナリティの高いフィールドに対して非常に大きな size または非常に細かい interval で実行された terms/date_histogram などの集計、ネストした集計によるバケット数の増倍。過剰なバケット生成はノードのメモリを枯渇させ得るため、上限が強制される。

対処方法

生成されるバケット数を減らす: terms 集計の size を下げる、date_histogram の interval を広げる、不要なネストした集計を削除する。多数の結果が必要な場合は composite 集計でページングする。上限の引き上げは最後の手段であり、メモリのリスクを伴う: search.max_buckets は PUT _cluster/settings で変更できるが、慎重に行う。

DBAtlas で開く →

同じデータベースの他の項目