Presentamos el ES|Generador de consultas QL para el cliente Ruby de Elasticsearch

Aprende a usar el recientemente lanzado ES|Generador de consultas QL para el cliente Ruby de Elasticsearch. Una herramienta para construir ES|QL consulta más fácilmente con código Ruby.

Experimenta con Elasticsearch: Sumérgete en nuestros cuadernos de muestra, inicia una prueba gratuita del cloud o prueba Elastic en tu máquina local ahora.

Recientemente lanzamos elastic-esql, una joya Ruby publicada bajo la licencia Apache 2. Esta gema te permite construir el ES| de ElasticConsultas QL en Ruby idiomático, que luego puedes usar con el ES|API de consulta QL. ES|QL permite a los desarrolladores filtrar, transformar y analizar los datos almacenados en Elasticsearch mediante consultas. Emplea "tuberías" ( | ) para trabajar paso a paso con los datos. La gema emplea funciones Ruby en su lugar, que puedes encadenar al objeto original para crear consultas más complejas:

ESQL:

Rubí:

Instalación

La gema puede instalar desde RubyGems con:

O puede agregar al archivo de gemas de un proyecto:

Uso

Puedes construir una consulta completa de una vez o crear un objeto de consulta con un comando fuente como from o row y luego encadenar ES|QL métodos para construir sobre ella.

La gema traduce el código a ES|QL en el método to_s , así que devuelve el ES|Consulta QL cuando se imprime o se convierte en una cadena:

Puedes instanciar un objeto de consulta y mutar su estado inicial usando los equivalentes ! de cada función:

La herramienta ofrece formas cómodas de encadenar pasos extra a un ES|Función QL, como enrich y sort. Una vez que llamas enrich a un objeto Elastic::ESQL , puedes encadenar on y with a él:

También puedes encadenar desc, asc, nulls_first y nulls_last a tu consulta tras usar sort:

También soporta cadenas personalizadas, por si quieres escribir el ES|Consulta QL tú mismo, o usa una función que aún no se agregó a la biblioteca. custom se unirán a las cadenas al final de la consulta. Los agregará a medida que se envían a la función, sin agregar ningún carácter de la tubería. Se combinarán con el resto de la consulta mediante un carácter espacio.

También puedes encadenar custom funciones:

Usando el ES|QL Query Builder con el cliente Ruby

Puedes usar el constructor de consultas directamente con elasticsearch-ruby y la API esql.query enviando el objeto de consulta:

También puedes usarlo con el ES|QL Helper del cliente Ruby de Elasticsearch, para saber más:

Como herramienta independiente

La gema está diseñada como una herramienta independiente para construir ES|QL consulta de forma idiomática. No tiene dependencias en tiempo de ejecución; puedes usarlo con el cliente oficial de Elasticsearch Ruby, o por separado.

La consulta generada puede usar con la API esql.query de cualquier forma que una aplicación interactúe con la API de Elasticsearch (Ruby o no). Una vez que una consulta se construye con elastic-esql, la cadena generada puede enviar a la API como el parámetro query en el cuerpo de la solicitud.

Anteriormente escribí sobre el uso de Elasticsearch con las herramientas Ruby populares. Esta gema puede usar con cualquiera de las herramientas Ruby populares para consultar Elasticsearch con ES|QL.

Conclusión

Esta biblioteca está en desarrollo activo y la API final aún no se completó. Actualmente está lanzado como un avance técnico. Si tienes algún comentario sobre la API actual o su uso general, no dudes en abrir un nuevo número. Por favor, consulta el README para saber más sobre el Ruby ES|Constructor de consultas QL.

Contenido relacionado

¿Estás listo para crear experiencias de búsqueda de última generación?

No se logra una búsqueda suficientemente avanzada con los esfuerzos de uno. Elasticsearch está impulsado por científicos de datos, operaciones de ML, ingenieros y muchos más que son tan apasionados por la búsqueda como tú. Conectemos y trabajemos juntos para crear la experiencia mágica de búsqueda que te dará los resultados que deseas.

Pruébalo tú mismo