Elasticsearch & Full Text Search Systems · Leçon

Agrégations en pipeline

Enchaînez des agrégations pour effectuer des calculs sur les résultats d’autres agrégations et créer des pipelines d’analyse sophistiqués.

Leçon 3 sur 411 étapes

Agrégations en pipeline est une leçon Elasticsearch & Full Text Search Systems gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Elasticsearch & Full Text Search Systems, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Elasticsearch & Full Text Search Systems comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

Intro to Pipeline Aggregations

Welcome to Pipeline Aggregations! So far, we've learned about metric and bucket aggregations.

Pipeline aggregations take things a step further. They operate on the results of other aggregations, allowing you to chain them together for more sophisticated analytics.

Beyond Basic Aggregations

Think of basic aggregations as giving you statistics within each bucket (e.g., total sales per product category).

Pipeline aggregations, on the other hand, allow you to calculate statistics across those buckets or over time. For example, finding the overall total of 'total sales per category'.

Chaining Aggregations

The core idea is chaining. A pipeline aggregation receives its input from another aggregation's output.

  • It processes the results of 'sibling' or 'parent' aggregations.
  • This enables multi-stage analysis, where one calculation feeds into the next.

sum_bucket Aggregation

One common pipeline aggregation is sum_bucket. It calculates the sum of a specified metric across all sibling buckets.

Use case: You've grouped sales by product category and calculated the total sales for each category. Now you want to find the grand total sales across all categories.

sum_bucket in Action

This example first gets total sales per category, then uses sum_bucket to sum those category totals into an overall total. You can send this JSON to Elasticsearch using curl -XGET 'localhost:9200/your_index/_search?pretty' -H 'Content-Type: application/json' -d'...'

{ "size": 0,
  "aggs": {
    "sales_by_category": {
      "terms": { "field": "product_category.keyword" },
      "aggs": {
        "total_sales_per_category": { "sum": { "field": "sales_amount" } }
      }
    },
    "overall_total_sales": {
      "sum_bucket": {
        "buckets_path": "sales_by_category>total_sales_per_category"
      }
    }
  }
}

avg_bucket Aggregation

Similar to sum_bucket, the avg_bucket aggregation calculates the average of a specific metric across all sibling buckets.

Use case: After getting the total sales for each product category, you might want to know the average total sales amount *per category*.

avg_bucket in Action

Here, we use avg_bucket to calculate the average of the 'total sales per category' values. Notice the buckets_path remains the same, pointing to the aggregation whose results we want to average.

{ "size": 0,
  "aggs": {
    "sales_by_category": {
      "terms": { "field": "product_category.keyword" },
      "aggs": {
        "total_sales_per_category": { "sum": { "field": "sales_amount" } }
      }
    },
    "average_sales_per_category": {
      "avg_bucket": {
        "buckets_path": "sales_by_category>total_sales_per_category"
      }
    }
  }
}

min_bucket & max_bucket

Elasticsearch also provides min_bucket and max_bucket pipeline aggregations.

  • min_bucket: Finds the minimum value among the specified metric from all sibling buckets.
  • max_bucket: Finds the maximum value among the specified metric from all sibling buckets.

These work just like sum_bucket and avg_bucket, simply changing the operation.

Understanding buckets_path

The buckets_path parameter is crucial for pipeline aggregations. It tells Elasticsearch which aggregation's output to use as input.

  • It uses a > separator for nested aggregations (e.g., parent_agg>child_agg).
  • You can also reference the document count of a bucket using _count (e.g., sales_by_category>_count).

Pipeline Aggregation Check

Let's check your understanding of pipeline aggregations!

Pipeline Aggregations Recap

Great job! In this lesson, you learned about:

  • What pipeline aggregations are and why they're powerful.
  • How they allow you to perform calculations across the results of other aggregations.
  • Key types like sum_bucket, avg_bucket, min_bucket, and max_bucket.
  • The importance of the buckets_path parameter for referencing aggregation outputs.

Pipeline aggregations enable a deeper level of data analysis in Elasticsearch!

Gratuit pour commencer

Apprends Elasticsearch & Full Text Search Systems avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
12
Leçons
48

Questions Fréquemment Posées

La leçon « Agrégations en pipeline » est-elle gratuite ?

Oui — le texte complet de « Agrégations en pipeline » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Elasticsearch & Full Text Search Systems, passe à CoddyKit PRO. Le cours Elasticsearch & Full Text Search Systems comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Agrégations en pipeline » ?

Enchaînez des agrégations pour effectuer des calculs sur les résultats d’autres agrégations et créer des pipelines d’analyse sophistiqués. Tu pratiques Elasticsearch & Full Text Search Systems avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Elasticsearch & Full Text Search Systems ?

Aucune expérience préalable n'est requise. Elasticsearch & Full Text Search Systems sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Agrégations en pipeline » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Elasticsearch & Full Text Search Systems ?

Oui. Chaque leçon Elasticsearch & Full Text Search Systems inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Agrégations de métriques
  2. Agrégations par compartiments
  3. Agrégations en pipeline
  4. Agrégations imbriquées et sous-agrégations
← Retour à Elasticsearch & Full Text Search Systems