DBAtlas · Veritabanı operasyon atlası

too_many_buckets_exception: Trying to create too many buckets

Elasticsearch

Ne demek?

Bir toplama (aggregation) sorgusu, izin verilen üst sınırdan (search.max_buckets, varsayılan 65.536) daha fazla bucket üretmeye çalıştı. Bellek korunması için sorgu reddedildi.

Neden olur?

Yüksek kardinaliteli alanlarda terms/date_histogram gibi toplamaların çok büyük boyutta (size) ya da çok ince aralıkla çalıştırılması; iç içe (nested) toplamaların bucket sayısını çarpması. Aşırı bucket üretimi düğüm belleğini tüketebileceğinden sınır uygulanır.

Nasıl çözülür?

Üretilen bucket sayısını azaltın: terms toplamalarında size değerini düşürün, date_histogram aralığını genişletin, gereksiz iç içe toplamaları kaldırın. Çok sonuç gerekiyorsa composite aggregation ile sayfalama (paging) kullanın. Sınırı yükseltmek son çare olmalıdır ve bellek riski taşır: PUT _cluster/settings ile search.max_buckets değiştirilebilir ancak dikkatli olun.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar