Filtragem, intervalos e contexto de consulta
Domine a diferença entre o contexto de consulta e o contexto de filtro e use filtros de intervalo e de termos para restringir os resultados com eficiência.
Filtragem, intervalos e contexto de consulta é uma aula grátis de Elasticsearch & Full Text Search Systems no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Elasticsearch & Full Text Search Systems, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Elasticsearch & Full Text Search Systems inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
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.
Aprenda Elasticsearch & Full Text Search Systems com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 12
- Aulas
- 48
Perguntas Frequentes
A aula “Filtragem, intervalos e contexto de consulta” é grátis?
Sim — o texto completo de “Filtragem, intervalos e contexto de consulta” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Elasticsearch & Full Text Search Systems, atualize para CoddyKit PRO. O curso de Elasticsearch & Full Text Search Systems inclui 4 aulas no total.
O que vou aprender em “Filtragem, intervalos e contexto de consulta”?
Domine a diferença entre o contexto de consulta e o contexto de filtro e use filtros de intervalo e de termos para restringir os resultados com eficiência. Você pratica Elasticsearch & Full Text Search Systems com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Elasticsearch & Full Text Search Systems?
Nenhuma experiência prévia é necessária. Elasticsearch & Full Text Search Systems no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Filtragem, intervalos e contexto de consulta”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Elasticsearch & Full Text Search Systems?
Sim. Cada aula de Elasticsearch & Full Text Search Systems inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Introdução à DSL de consultas
- Consultas por termo e correspondência
- Combinando consultas com Bool
- Filtragem, intervalos e contexto de consulta