Saltar al contenido
Totalmente local

Constructor de consultas Elasticsearch

Convierte una lista de condiciones campo/operador/valor en una consulta bool de Elasticsearch.

Salida

Constructor de consultas Elasticsearch

Pega una lista de condiciones y esta herramienta ensambla una solicitud de búsqueda completa de Elasticsearch: una consulta bool con ramas must, should, must_not y filter, más ordenamiento, paginación y agregación opcional. Es perfecta para quien escribe consultas manualmente en Kibana Dev Tools, un cliente REST o la capa de búsqueda de una aplicación, y preferiría describir las condiciones en lugar de reescribir cada vez el andamiaje JSON.

Cada condición es una línea en el campo Condiciones: una rama opcional (must, should, must_not, filter), el nombre del campo, un tipo de condición opcional (term para coincidencia exacta, match para búsqueda de texto completo, range para comparaciones, exists para verificar que el campo está presente) y un valor, separados por puntos y coma. "filter price range 100..500" crea una cláusula range; "should title match wireless headphones" busca coincidencia de texto completo en una frase; "must email exists" verifica que el campo esté configurado. Omite el tipo y Tipo de condición predeterminado lo rellena; omite la rama y Rama predeterminada hace lo mismo, así que una lista rápida como "status active; category electronics" sigue produciendo una consulta válida.

El panel de opciones cubre el resto de una solicitud de búsqueda real: Campo de ordenamiento y orden añaden una cláusula sort, Tamaño de página y Desplazamiento controlan paginación from/size, y Agregación activa un bucket terms o date_histogram sobre un campo que elijas. Resaltar coincidencias añade un bloque highlight para cualquier condición match, y Versión del lenguaje de consulta alterna track_total_hits, disponible solo desde Elasticsearch 7 en adelante.

Todo funciona en tu navegador: las condiciones que escribes y la consulta que resulta nunca se cargan en ningún lugar. Copia el resultado directamente en Kibana Dev Tools o un cuerpo de solicitud, descárgalo como archivo .txt, o envía la salida de vuelta a la entrada para seguir refinándola.

Preguntas frecuentes

¿Cómo escribo una condición?
Una línea por condición, separadas por puntos y coma: una rama opcional, el nombre del campo, un tipo de condición opcional, luego el valor, por ejemplo "must status term active; filter price range 100..500".
¿Qué significan term, match, range y exists?
term coincide con un campo exactamente, match busca texto completo, range compara un campo contra límites (escribe "min..max", "min..", "..max", o ">=5"), y exists simplemente verifica que el campo está presente, sin necesidad de valor.
¿Qué pasa si omito la rama o el tipo?
Las opciones Rama predeterminada y Tipo de condición predeterminado rellenan cualquier parte que una línea omita, así que una línea simple "campo valor" sigue produciendo una condición válida.
¿Funciona la consulta con todas las versiones de Elasticsearch?
La consulta bool, ordenamiento, paginación, agregaciones y resaltado son estables desde Elasticsearch 6. La opción Versión del lenguaje de consulta solo cambia un detalle: track_total_hits, que se introdujo en Elasticsearch 7 y se omite para una consulta 6.x.
¿Se suben mis datos de consulta a algún lugar?
No. La consulta se construye completamente en tu navegador a partir de las condiciones y opciones que ingresas; nada se envía a un servidor.