Nested dan Subagregasi
Pelajari cara menggabungkan agregasi dengan menempatkan metrik di dalam bucket, membangun analitik bertingkat, dan menelusuri struktur dokumen nested menggunakan agregasi nested.
Nested dan Subagregasi adalah pelajaran Elasticsearch & Full Text Search Systems gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Elasticsearch & Full Text Search Systems, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Elasticsearch & Full Text Search Systems mencakup 4 pelajaran total.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
Combining Aggregations
A single aggregation answers one question. Real analytics often need layered answers: average price per category, or top brands per region. Elasticsearch lets you nest aggregations inside one another.
This lesson shows how to compose them.
The aggs Hierarchy
Any bucket aggregation can contain a sub-aggs block. The sub-aggregation runs once per bucket, operating only on the documents in that bucket.
This is the core mechanism for multi-dimensional analytics.
Metric Inside a Bucket
Here we group documents by category, then compute the average price within each group. The metric aggregation lives inside the bucket aggregation's aggs.
GET sales/_search
{
"size": 0,
"aggs": {
"by_category": {
"terms": { "field": "category" },
"aggs": {
"avg_price": { "avg": { "field": "price" } }
}
}
}
}Reading the Result
Each bucket in by_category now carries an avg_price value alongside its doc_count. You get the category name, how many docs it holds, and its average price in one response.
Bucket Inside a Bucket
You can nest bucket aggregations too. Group by region, then by brand within each region. This produces a two-level breakdown.
"aggs": {
"by_region": {
"terms": { "field": "region" },
"aggs": {
"by_brand": { "terms": { "field": "brand" } }
}
}
}Mind the Cardinality
Deeply nested terms aggregations can explode combinatorially. A region with 50 brands across 20 regions yields up to 1,000 buckets. Use the size parameter to limit returned buckets and protect memory.
Multiple Sub-Aggregations
A bucket can hold several sub-aggregations at once. Here each category reports both its average and maximum price.
"by_category": {
"terms": { "field": "category" },
"aggs": {
"avg_price": { "avg": { "field": "price" } },
"max_price": { "max": { "field": "price" } }
}
}The nested Aggregation
When data uses the nested field type, you must enter that scope with a nested aggregation before aggregating on its inner fields. It points at a path.
"aggs": {
"variants": {
"nested": { "path": "variants" },
"aggs": {
"avg_qty": { "avg": { "field": "variants.quantity" } }
}
}
}Reverse Nested
Inside a nested aggregation you can jump back to the parent document scope using reverse_nested. This lets you count distinct parent docs that contain a matching nested element.
"reverse_nested": {},
"aggs": {
"parent_count": { "value_count": { "field": "_id" } }
}Sorting Buckets by a Metric
Order parent buckets by a nested sub-metric using order. Here categories are sorted by their average price, descending.
"terms": {
"field": "category",
"order": { "avg_price": "desc" }
}Design Tips
Keep nesting shallow when possible, always set size on inner terms, and put the most selective bucket aggregation first to reduce the work done by deeper levels.
Quick Check
Test your grasp of sub-aggregations.
Recap
You learned to compose aggregations:
- Any bucket aggregation can hold sub-
aggsthat run per bucket. - Nest metrics in buckets, or buckets in buckets for multi-level breakdowns.
- Use the
nestedandreverse_nestedaggregations to traverse nested document scopes. - Control bucket explosion with
sizeand order buckets by sub-metrics withorder.
Belajar Elasticsearch & Full Text Search Systems dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 12
- Pelajaran
- 48
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Nested dan Subagregasi” gratis?
Ya — teks lengkap “Nested dan Subagregasi” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Elasticsearch & Full Text Search Systems, upgrade ke CoddyKit PRO. Kursus Elasticsearch & Full Text Search Systems mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Nested dan Subagregasi”?
Pelajari cara menggabungkan agregasi dengan menempatkan metrik di dalam bucket, membangun analitik bertingkat, dan menelusuri struktur dokumen nested menggunakan agregasi nested. Kamu berlatih Elasticsearch & Full Text Search Systems dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Elasticsearch & Full Text Search Systems?
Tidak diperlukan pengalaman sebelumnya. Elasticsearch & Full Text Search Systems di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Nested dan Subagregasi” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Elasticsearch & Full Text Search Systems ini?
Ya. Setiap pelajaran Elasticsearch & Full Text Search Systems menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Agregasi Metrik
- Agregasi Bucket
- Agregasi Pipeline
- Nested dan Subagregasi