System Observability: Logging, Metrics & Tracing (ELK + OpenTelemetry) · Pelajaran

Bahasa Kueri Elasticsearch (DSL)

Pelajari Elasticsearch Query DSL yang andal untuk pengambilan dan agregasi data yang kompleks. Pelajari cara menyusun kueri pencarian tingkat lanjut.

Pelajaran 1 dari 412 langkah

Bahasa Kueri Elasticsearch (DSL) adalah pelajaran System Observability: Logging, Metrics & Tracing (ELK + OpenTelemetry) gratis di CoddyKit. Ini adalah pelajaran 1 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 System Observability: Logging, Metrics & Tracing (ELK + OpenTelemetry), dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus System Observability: Logging, Metrics & Tracing (ELK + OpenTelemetry) mencakup 4 pelajaran total.

Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.

Unlocking Elasticsearch Query Power

Welcome to the world of Elasticsearch Query DSL! DSL stands for Domain Specific Language. It's the powerful, flexible way to search and analyze data in Elasticsearch.

Instead of simple keywords, DSL lets you build complex queries using a JSON-based structure. This gives you fine-grained control over how your data is found and processed.

Basic Text Search: Match Query

The match query is your go-to for full-text searches. It analyzes the search text and the field content, making it great for finding relevant documents even with slight variations.

Here's how to find products containing the word 'laptop':

{
  "query": {
    "match": {
      "product_name": "laptop"
    }
  }
}

Exact Phrase Search: Match Phrase

Sometimes you need to find an exact sequence of words. That's where the match_phrase query comes in handy. It ensures all words in your query appear in the field, in the specified order.

Let's search for the exact phrase 'high performance' in a product description:

{
  "query": {
    "match_phrase": {
      "description": "high performance"
    }
  }
}

Exact Value Search: Term Query

The term query is used for finding exact values in fields that are not analyzed, like keywords, numbers, or dates. It won't break down your search term into individual words.

This is perfect for filtering by specific IDs, statuses, or categories. Note the .keyword suffix, often used for exact string matching:

{
  "query": {
    "term": {
      "status.keyword": "active"
    }
  }
}

Filtering by Range: Range Query

Need to find documents within a specific numerical or date range? The range query is what you need. It supports operators like gte (greater than or equal), gt (greater than), lte (less than or equal), and lt (less than).

Find products priced between $100 and $500:

{
  "query": {
    "range": {
      "price": {
        "gte": 100,
        "lte": 500
      }
    }
  }
}

Combining Queries: Boolean Logic

The bool query is the most powerful way to combine multiple queries using boolean logic:

  • must: All queries must match.
  • should: At least one query should match (influences relevance score).
  • must_not: Queries must not match.
  • filter: Queries must match, but don't affect the relevance score (good for caching).

Boolean Query in Action

Let's find 'electronics' products priced under $1000, but specifically exclude any from the 'obsolete' brand. Notice how filter is used for the price range, as it doesn't need to contribute to the score.

{
  "query": {
    "bool": {
      "must": [
        { "match": { "category": "electronics" } }
      ],
      "filter": [
        { "range": { "price": { "lte": 1000 } } }
      ],
      "must_not": [
        { "match": { "brand": "obsolete" } }
      ]
    }
  }
}

Beyond Search: Aggregations

Elasticsearch DSL isn't just for searching; it's also for powerful analytics using aggregations. Aggregations allow you to group your data, calculate metrics, and gain insights from large datasets.

Think of them like the GROUP BY clause in SQL, but much more flexible and efficient for large-scale data.

Grouping Data: Terms Aggregation

The terms aggregation is used to group documents by the values of a specific field, similar to facets. It's great for understanding the distribution of data, like finding the most popular categories or brands.

Here's how to get the top 5 product categories:

{
  "aggs": {
    "top_categories": {
      "terms": {
        "field": "category.keyword",
        "size": 5
      }
    }
  }
}

Calculating Metrics: Avg Aggregation

Metric aggregations compute statistics over numeric fields. Common examples include avg, sum, min, max, and count.

You can combine them with terms aggregations to get statistics per group. Let's find the average price for each product category:

{
  "aggs": {
    "avg_price_by_category": {
      "terms": {
        "field": "category.keyword"
      },
      "aggs": {
        "average_price": {
          "avg": {
            "field": "price"
          }
        }
      }
    }
  }
}

Quick Check on Queries

You want to find all documents where the status field is exactly 'pending' AND the priority is 'high'. Which combination of queries would you primarily use?

Recap: DSL's Power Unleashed

Congratulations! You've dived into the powerful world of Elasticsearch Query DSL.

  • You learned how to use match and match_phrase for text searching.
  • You explored term for exact value lookups and range for filtering.
  • You mastered combining queries with the flexible bool query.
  • And you got an introduction to aggregations like terms and avg for deep data analysis.

Keep exploring the DSL to unlock even more insights from your data!

Gratis untuk memulai

Belajar System Observability: Logging, Metrics & Tracing (ELK + OpenTelemetry) 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 “Bahasa Kueri Elasticsearch (DSL)” gratis?

Ya — teks lengkap “Bahasa Kueri Elasticsearch (DSL)” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus System Observability: Logging, Metrics & Tracing (ELK + OpenTelemetry), upgrade ke CoddyKit PRO. Kursus System Observability: Logging, Metrics & Tracing (ELK + OpenTelemetry) mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Bahasa Kueri Elasticsearch (DSL)”?

Pelajari Elasticsearch Query DSL yang andal untuk pengambilan dan agregasi data yang kompleks. Pelajari cara menyusun kueri pencarian tingkat lanjut. Kamu berlatih System Observability: Logging, Metrics & Tracing (ELK + OpenTelemetry) 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 System Observability: Logging, Metrics & Tracing (ELK + OpenTelemetry)?

Tidak diperlukan pengalaman sebelumnya. System Observability: Logging, Metrics & Tracing (ELK + OpenTelemetry) 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 1 dari 4.

Berapa lama pelajaran “Bahasa Kueri Elasticsearch (DSL)” 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 System Observability: Logging, Metrics & Tracing (ELK + OpenTelemetry) ini?

Ya. Setiap pelajaran System Observability: Logging, Metrics & Tracing (ELK + OpenTelemetry) 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

  1. Bahasa Kueri Elasticsearch (DSL)
  2. Filter dan Alur Logstash
  3. Discover dan Lens di Kibana
  4. Manajemen Siklus Hidup Indeks (ILM)
← Kembali ke System Observability: Logging, Metrics & Tracing (ELK + OpenTelemetry)