Elasticsearch & Full Text Search Systems · Pelajaran

Penyaringan, Rentang, dan Konteks Kueri

Kuasai perbedaan antara konteks kueri dan konteks filter, lalu gunakan filter rentang dan istilah untuk mempersempit hasil secara efisien.

Pelajaran 4 dari 413 langkah

Penyaringan, Rentang, dan Konteks Kueri 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.

Two Contexts

Every clause in Elasticsearch runs in one of two contexts: query context (How well does this match? produces a score) or filter context (Does this match? yes/no, no score).

Why Filters Are Fast

Filters do not compute relevance scores and their results are cached, so repeated filters are very cheap. Use filters whenever you do not need ranking from that clause.

The bool filter Clause

Inside a bool query, the filter array runs in filter context while must runs in query context.

GET /products/_search
{ "query": { "bool": {
  "must":   [ { "match": { "name": "laptop" } } ],
  "filter": [ { "term": { "in_stock": true } } ]
}}}

Range Queries

The range query selects values within bounds using gte, gt, lte, lt. It is commonly placed in filter context.

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

Date Ranges

Range works on dates too, including date math like now-7d for relative windows.

{ "range": { "created": { "gte": "now-7d/d" } } }

terms Filter

The terms query matches any of several exact values, like a SQL IN list.

{ "terms": { "category": [ "books", "music" ] } }

exists Filter

The exists query keeps only documents that have a non-null value for a field.

{ "exists": { "field": "discount" } }

Combining Many Filters

Stack multiple filters in the filter array; they are ANDed together and all benefit from caching.

"filter": [
  { "term":  { "in_stock": true } },
  { "range": { "price": { "lte": 1000 } } }
]

must_not for Exclusion

Use must_not inside bool to exclude documents. It also runs in filter context.

"must_not": [ { "term": { "discontinued": true } } ]

Sorting Without Scores

When you rely on filters alone, every document scores the same, so add an explicit sort (for example by price or date) to order results.

"sort": [ { "price": "asc" } ]

Performance Rule of Thumb

Put the scoring text match in must and push every yes/no condition into filter. This keeps scoring focused and lets caching speed up the rest.

Quick Check

When should a clause go in filter context?

Recap

You learned the query vs filter context distinction, used range, terms, and exists filters inside bool, applied must_not for exclusion, and added explicit sorting when relying on filters.

Gratis untuk memulai

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 “Penyaringan, Rentang, dan Konteks Kueri” gratis?

Ya — teks lengkap “Penyaringan, Rentang, dan Konteks Kueri” 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 “Penyaringan, Rentang, dan Konteks Kueri”?

Kuasai perbedaan antara konteks kueri dan konteks filter, lalu gunakan filter rentang dan istilah untuk mempersempit hasil secara efisien. 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 “Penyaringan, Rentang, dan Konteks Kueri” 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

  1. Pengantar Query DSL
  2. Kueri Term dan Match
  3. Menggabungkan Kueri dengan Bool
  4. Penyaringan, Rentang, dan Konteks Kueri
← Kembali ke Elasticsearch & Full Text Search Systems