# מערך שיעור: Aggregations📋 מערך מרצה

משך: 1.5 שעות אקדמיות (68 דקות).

מטרת השיעור: הסטודנטים יבנו Aggregations עם Bucket ו-Metric מקונן, כזיהוי לרעיון החוזר מ-3 טכנולוגיות קודמות.

בסוף השיעור הסטודנטים צריכים: לבנות terms Aggregation, לקנן Metric בתוכו, ולשלב עם query לסינון מקדים.

דגש קריטי: זו הפעם הרביעית שאותו רעיון (GroupBy) מופיע בקורס — הדגישו את זה במפורש כ"רגע איסוף" ולא נושא נפרד.

---

## מהלך השיעור

| חלק בשיעור | משך | הערות ודגשים |
| --- | --- | --- |
| פתיחה וחיבור | 5 דקות | שאלו: "כמה מוצרים בכל קטגוריה — זה match/term/range?" |
| הרעיון: terms Aggregation | 20 דקות | Bucket, size:0 |
| Metric מקונן | 20 דקות | avg בתוך terms |
| query + aggs יחד | 13 דקות | סינון מקדים |
| השוואה ל-3 הטכנולוגיות הקודמות | 5 דקות | LINQ/Mongo/Pandas — טבלת סיכום |
| תרגול מודרך | 5 דקות | תרגיל 1+2 |

---

## דגשים להעברת השיעור

- זהו רגע טבעי לעצור ולבנות עם הכיתה טבלת השוואה של ארבע הטכנולוגיות (LINQ GroupBy, MongoDB $group, Pandas groupby+agg, Elasticsearch terms+metric) — מחזק מאוד את ההבנה שזו אותה בעיה, ארבע שפות.
- "size":0 הוא פרט טכני קטן שקל לשכוח — הדגישו את הסיבה (לא רק "צריך לכתוב את זה") כדי שיזכרו.
- Bucket מול Metric שווה הבחנה מפורשת על הלוח — זה מונח שחוזר בתיעוד הרשמי ובראיונות עבודה.

---

## מושגים

**Aggregation** — חישוב סטטיסטי על תוצאות.
**`terms`** — Bucket, קיבוץ לפי ערך.
**`avg`/`sum`** — Metric, חישוב בתוך Bucket.

---

## תרגיל חשיבה

**שאלת פתיחה:** "עברתם על אותו רעיון (GroupBy) ב-4 טכנולוגיות שונות בקורס הזה. מה השתנה בין כל אחת, ומה נשאר זהה?"

**מהלך:** בנו יחד טבלה על הלוח: LINQ (`GroupBy`+`Sum`/`Count`), MongoDB (`$group`), Pandas (`groupby`+`agg`), Elasticsearch (`terms`+Metric). הובילו לתובנה המסכמת של כל הקורס עד כאן: הבעיות העסקיות חוזרות על עצמן בכל טכנולוגיה — מי שמבין את **הרעיון** (לא רק syntax) לומד טכנולוגיה חדשה הרבה יותר מהר.

**מה המרצה מראה בסוף:** אם יש זמן, הריצו את אותה שאלה בדיוק ("כמה מוצרים/הזמנות בכל קטגוריה, וממוצע מחיר") בשתיים מהטכנולוגיות זו לצד זו (למשל Pandas groupby+agg מול Elasticsearch terms+avg) — הראו שהתוצאה הסופית זהה במהות, רק הדרך שונה.
