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.




