Elasticsearch & Full Text Search Systems · Lección

Agregaciones de buckets

Agrupe sus documentos en «buckets» según campos como términos, rangos o fechas, lo que permite realizar búsquedas facetadas y categorizar datos.

Lección 2 de 411 pasos

Agregaciones de buckets es una lección gratuita de Elasticsearch & Full Text Search Systems en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Elasticsearch & Full Text Search Systems, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Elasticsearch & Full Text Search Systems incluye 4 lecciones en total.

Partes de esta lección aún no han sido traducidas y se muestran en inglés.

Grouping Your Data with Buckets

Welcome to Bucket Aggregations! In Elasticsearch, aggregations allow you to analyze your data.

Bucket aggregations specifically group documents into sets, or 'buckets', based on field values. Think of it like the GROUP BY clause in SQL.

  • Categorize data: Group products by brand.
  • Faceted search: Show counts for different filters.
  • Analyze trends: See activity per day or month.

Finding Unique Values with Terms

The terms aggregation is one of the most common bucket aggregations. It finds the top unique values for a specific field and then counts how many documents fall into each unique value's bucket.

It's incredibly useful for seeing the distribution of categorical data, like product categories, user roles, or country names.

Example: Products by Category

Let's use a terms aggregation to find the top 5 product categories and the count of products in each. We use .keyword for exact matches on text fields.

GET /products/_search
{
  "size": 0,
  "aggs": {
    "top_categories": {
      "terms": {
        "field": "category.keyword",
        "size": 5
      }
    }
  }
}

Bucketing by Numeric Ranges

The range aggregation allows you to define custom ranges for numeric or date fields. Documents whose field values fall within a defined range are grouped into that bucket.

This is perfect for creating price tiers (e.g., $0-10, $10-50, $50+) or age groups (e.g., 0-18, 19-65, 65+).

Example: Products by Price Range

Here, we define three price ranges: products under $10, between $10 and $50, and over $50. The size: 0 means we only want aggregation results, not actual search hits.

GET /products/_search
{
  "size": 0,
  "aggs": {
    "price_tiers": {
      "range": {
        "field": "price",
        "ranges": [
          { "to": 10.00 },
          { "from": 10.00, "to": 50.00 },
          { "from": 50.00 }
        ]
      }
    }
  }
}

Grouping Data Over Time

When working with time-series data, the date_histogram aggregation is your best friend. It buckets documents into fixed time intervals like minutes, hours, days, or months.

You specify an interval (e.g., 'day', 'month') and Elasticsearch automatically creates buckets for each period, even if no documents exist for a particular period.

Example: Sales Trends by Month

This aggregation groups sales orders by month, allowing you to easily track monthly sales performance. We assume an order_date field of type date.

GET /sales/_search
{
  "size": 0,
  "aggs": {
    "monthly_sales": {
      "date_histogram": {
        "field": "order_date",
        "calendar_interval": "month"
      }
    }
  }
}

Multi-Level Grouping: Nesting Buckets

The true power of bucket aggregations comes from nesting them. You can place one bucket aggregation inside another to create hierarchical groupings.

For example, you might want to see product categories, and then within each category, the price ranges of products. This enables deep, multi-dimensional analysis.

Where Buckets Shine

Bucket aggregations are fundamental for many real-world applications:

  • Faceted Search: Allowing users to filter search results by category, brand, price range, etc.
  • Data Exploration: Discovering patterns and distributions in your data.
  • Dashboards: Building visualizations like bar charts (e.g., sales per month, products per category).
  • Reporting: Generating summary reports based on grouped data.

Bucket Aggregation Quiz

You are analyzing user feedback and want to count how many reviews were submitted each day over the past week. Which aggregation type is most suitable?

Bucket Aggregations Recap

Great job! You've learned about the power of Bucket Aggregations in Elasticsearch.

  • They group documents into logical 'buckets'.
  • terms: Groups by unique field values.
  • range: Groups by custom numeric or date ranges.
  • date_histogram: Groups by fixed time intervals.
  • You can nest them for multi-level analysis.

Next, we'll explore Metric Aggregations, which perform calculations (like sum, avg, min, max) on the data within these buckets!

Gratis para empezar

Aprende Elasticsearch & Full Text Search Systems con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
12
Lecciones
48

Preguntas frecuentes

¿La lección «Agregaciones de buckets» es gratis?

Sí — el texto completo de «Agregaciones de buckets» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Elasticsearch & Full Text Search Systems, actualiza a CoddyKit PRO. El curso de Elasticsearch & Full Text Search Systems incluye 4 lecciones en total.

¿Qué aprenderé en «Agregaciones de buckets»?

Agrupe sus documentos en «buckets» según campos como términos, rangos o fechas, lo que permite realizar búsquedas facetadas y categorizar datos. Practicas Elasticsearch & Full Text Search Systems con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Elasticsearch & Full Text Search Systems?

No se requiere experiencia previa. Elasticsearch & Full Text Search Systems en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Agregaciones de buckets»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Elasticsearch & Full Text Search Systems?

Sí. Cada lección de Elasticsearch & Full Text Search Systems incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Agregaciones de métricas
  2. Agregaciones de buckets
  3. Agregaciones de pipeline
  4. Agregaciones anidadas y subagregaciones
← Volver a Elasticsearch & Full Text Search Systems