Exact matching
Find documents using exact values, ranges and field presence. Keyword fields preserve case; text fields are analyzed.
- Retrieve all products
- Find an exact brand
- Match several statuses
- Filter a price range
- Find rated products
A hands-on playground for backend developers. Real datasets, real Elasticsearch, and feedback that helps you understand why.
{
"query": {
"bool": {
"must": [
{ "match": { "name": "wireless" } }
],
"filter": [
{ "range": { "price": { "lt": 500 } } }
]
}
}
}Five focused lessons. Twenty-five practical challenges. Learn at your own pace.
Find documents using exact values, ranges and field presence. Keyword fields preserve case; text fields are analyzed.
Combine queries with bool. must contributes to relevance, filter does not; must_not excludes documents. should is optional when must or filter is present unless minimum_should_match is set.
Text fields use the standard analyzer: words are tokenized and lowercased. Match analyzes the input; term does not.
Control sorting, pagination and returned fields. Boost changes relevance; scores depend on the corpus and are not probabilities.
Aggregations summarize matching documents. Bucket aggregations form groups; metric aggregations calculate values. Use size: 0 when only statistics are needed.
Short explanations, realistic tasks, and a clear index schema.
Write JSON and see real documents, relevance scores, and aggregations.
Check behavior and semantics, get a hint, then move to the next challenge.