Filtres, plages et contexte des requêtes
Maîtrisez la différence entre le contexte de requête et le contexte de filtre, et utilisez des filtres de plages et de termes pour affiner efficacement les résultats.
Filtres, plages et contexte des requêtes est une leçon Elasticsearch & Full Text Search Systems gratuite sur CoddyKit. Ceci est la leçon 4 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.
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.
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 « Filtres, plages et contexte des requêtes » est-elle gratuite ?
Oui — le texte complet de « Filtres, plages et contexte des requêtes » 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 « Filtres, plages et contexte des requêtes » ?
Maîtrisez la différence entre le contexte de requête et le contexte de filtre, et utilisez des filtres de plages et de termes pour affiner efficacement les résultats. 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 4 sur 4.
Combien de temps prend la leçon « Filtres, plages et contexte des requêtes » ?
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
- Introduction au DSL de requête
- Requêtes de termes et de correspondance
- Combiner des requêtes avec bool
- Filtres, plages et contexte des requêtes