Apresentamos o construtor de consultas ES|QL para o cliente Ruby do Elasticsearch.

Aprenda a usar o construtor de consultas ES|QL recém-lançado para o cliente Ruby do Elasticsearch. Uma ferramenta para criar consultas ES|QL mais facilmente com código Ruby.

Experimente o Elasticsearch na prática: Mergulhe em nossos notebooks de amostra, inicie um teste gratuito na nuvem ou experimente o Elastic em sua máquina local agora mesmo.

Recentemente lançamos elastic-esql, uma gem Ruby publicada sob a licença Apache 2. Esta gem permite que você crie consultas ES|QL da Elastic em Ruby idiomático, que você pode então usar com a API de consulta ES|QL. O ES|QL permite que os desenvolvedores filtrem, transformem e analisem dados armazenados no Elasticsearch por meio de consultas. Ele usa "pipes" ( | ) para trabalhar com os dados passo a passo. A gem usa funções Ruby, que você pode encadear ao objeto original para construir consultas mais complexas:

ESQL:

Rubi:

Instalação

A gem pode ser instalada a partir do RubyGems com o seguinte comando:

Ou pode ser adicionado ao Gemfile de um projeto:

Uso

Você pode construir uma consulta completa de uma só vez ou criar um objeto de consulta com um comando de origem como from ou row e, em seguida, encadear métodos ES|QL para construí-lo.

A gem traduz o código para ES|QL no método to_s , portanto, retorna a consulta ES|QL quando é impressa ou convertida em uma String:

Você pode instanciar um objeto de consulta e modificar seu estado inicial usando os equivalentes ! de cada função:

A ferramenta fornece maneiras convenientes de encadear etapas extras a uma função ES|QL, como enrich e sort. Depois de chamar enrich em um objeto Elastic::ESQL , você pode encadear on e with a ele:

Você também pode encadear desc, asc, nulls_first e nulls_last à sua consulta após usar sort:

Também oferece suporte a strings personalizadas, caso você queira escrever a consulta ES|QL por conta própria ou usar um recurso que ainda não foi adicionado à biblioteca. custom irá unir as strings no final da consulta. Isso os adicionará conforme forem enviados para a função, sem adicionar nenhum caractere de barra vertical. Eles serão combinados ao restante da consulta por um caractere de espaço.

Você também pode encadear funções custom :

Utilizando o Construtor de Consultas ES|QL com o cliente Ruby

Você pode usar o construtor de consultas diretamente com elasticsearch-ruby e a API esql.query enviando o objeto de consulta:

Você também pode usá-lo com o auxiliar ES|QL do cliente Ruby do Elasticsearch. Saiba mais:

Como uma ferramenta independente

A gem foi projetada como uma ferramenta independente para construir consultas ES|QL de forma idiomática. Não possui dependências de tempo de execução; você pode usá-lo com o cliente oficial do Elasticsearch para Ruby ou de forma independente.

A consulta gerada pode ser usada com a API esql.query de qualquer forma que um aplicativo interaja com a API do Elasticsearch (Ruby ou não). Uma vez que uma consulta é construída com elastic-esql, a String gerada pode ser enviada para a API como o parâmetro query no corpo da solicitação.

Anteriormente, escrevi sobre como usar o Elasticsearch com ferramentas populares do Ruby. Esta gem pode ser usada com qualquer uma das ferramentas populares do Ruby para consultar o Elasticsearch com ES|QL.

Conclusão

Esta biblioteca está em desenvolvimento ativo e a API final ainda não foi concluída. Atualmente, está disponível em versão de pré-visualização técnica. Se você tiver algum comentário sobre a API atual ou sobre o uso em geral, não hesite em abrir uma nova solicitação. Consulte o arquivo README para saber mais sobre o construtor de consultas Ruby ES|QL.

Conteúdo relacionado

Pronto para criar buscas de última geração?

Uma pesquisa suficientemente avançada não se consegue apenas com o esforço de uma só pessoa. O Elasticsearch é impulsionado por cientistas de dados, especialistas em operações de aprendizado de máquina, engenheiros e muitos outros que são tão apaixonados por buscas quanto você. Vamos nos conectar e trabalhar juntos para construir a experiência de busca mágica que lhe trará os resultados desejados.

Experimente você mesmo(a)