Elasticsearch & Full Text Search Systems · Lección

Filtros, rangos y contexto de consulta

Domine la diferencia entre el contexto de consulta y el contexto de filtro, y utilice filtros de rango y de términos para acotar los resultados de forma eficiente.

Lección 4 de 413 pasos

Filtros, rangos y contexto de consulta es una lección gratuita de Elasticsearch & Full Text Search Systems en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Elasticsearch & Full Text Search Systems, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Elasticsearch & Full Text Search Systems incluye 4 lecciones en total.

Partes de esta lección aún no han sido traducidas y se muestran en 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.

Gratis para empezar

Aprende Elasticsearch & Full Text Search Systems con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
12
Lecciones
48

Preguntas frecuentes

¿La lección «Filtros, rangos y contexto de consulta» es gratis?

Sí — el texto completo de «Filtros, rangos y contexto de consulta» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Elasticsearch & Full Text Search Systems, actualiza a CoddyKit PRO. El curso de Elasticsearch & Full Text Search Systems incluye 4 lecciones en total.

¿Qué aprenderé en «Filtros, rangos y contexto de consulta»?

Domine la diferencia entre el contexto de consulta y el contexto de filtro, y utilice filtros de rango y de términos para acotar los resultados de forma eficiente. Practicas Elasticsearch & Full Text Search Systems con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Elasticsearch & Full Text Search Systems?

No se requiere experiencia previa. Elasticsearch & Full Text Search Systems en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Filtros, rangos y contexto de consulta»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Elasticsearch & Full Text Search Systems?

Sí. Cada lección de Elasticsearch & Full Text Search Systems incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Introducción a Query DSL
  2. Consultas term y match
  3. Combinación de consultas con bool
  4. Filtros, rangos y contexto de consulta
← Volver a Elasticsearch & Full Text Search Systems