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.
A Linguagem de Consulta Elasticsearch (ES|QL), disponível ao público em geral desde a versão 8.14, introduz uma linguagem e um mecanismo de consulta desenvolvidos especificamente para pesquisa, observabilidade e investigações de segurança. Ao contrário da Piped Processing Language (PPL) do OpenSearch, que se baseia fortemente em linguagens de processamento em pipeline já existentes, o ES|QL foi construído do zero com foco em refinamento, usabilidade e integração perfeita em toda a plataforma Kibana.
Neste blog, exploraremos a experiência do desenvolvedor com o Editor ES|QL no Elasticsearch 9.1, comparando-a com o PPL no Analisador de Eventos (PPL, na sigla em inglês) do OpenSearch 3.2.
As diferenças tornam-se rapidamente evidentes: o Editor ES|QL oferece preenchimento automático inteligente, ajuda contextual, consultas recomendadas e suporte a consultas entre clusters, capacitando não apenas usuários iniciantes, mas também usuários de nível especialista. O design cuidadoso para a criação de ES|QL também se reflete na inspeção integrada de consultas e na integração holística por meio de fluxos de trabalho do Kibana, por exemplo, com as Consultas Recentes.
Em contrapartida, o PPL carece de suporte comparável para autocompletar, orientação contextual e consultas distribuídas, criando uma curva de aprendizado mais acentuada e exigindo mais tentativas e erros.
Tornando o ES|QL mais fácil de aprender e usar.
Começar a usar uma nova linguagem de consulta pode muitas vezes parecer algo assustador. O editor ES|QL, integrado diretamente ao Kibana Discover, foi projetado para facilitar esse processo, oferecendo suporte não apenas à criação e depuração de consultas, mas também acelerando a sua familiarização e o seu domínio da linguagem. À medida que o editor ajuda a reduzir o atrito nas tarefas diárias, você pode mudar o foco da sintaxe e da tentativa e erro para a busca de soluções. Você pode ler mais sobre esses princípios e como os integramos ao editor aqui.
Essa experiência de edição não se limita ao Discover; trata-se de um módulo de código reutilizável que estamos trabalhando para integrar a outras partes do Kibana, como Dashboards, alertas do Kibana e mapas do Kibana.
Preenchimento automático inteligente: acelerando a criação de suas consultas.
O recurso de autocompletar do ES|QL Editor é abrangente, oferecendo sugestões de funções, argumentos, literais e até mesmo funções aninhadas compatíveis, uma funcionalidade notavelmente ausente no PPL. Na verdade, foi reconstruído do zero, conforme descrito aqui.
A validação é executada enquanto o usuário digita, conforme descrito aqui, e sugerirá campos, além de notificar o usuário sobre erros. Isso reduz a carga mental dos usuários e ajuda a prevenir erros logo no início do processo de criação de consultas.
Exemplo: Campos e funções compatíveis são sugeridos neste aninhamento:

Algo que a PPL não suporta:

Mesmo com o recurso de autocompletar inteligente guiando você pelas funções, argumentos e funções aninhadas compatíveis, você ainda pode querer uma compreensão mais profunda das opções disponíveis. É exatamente aí que a ajuda contextual do ES|QL Editor se torna indispensável, oferecendo assistência imediata dentro do próprio editor para esclarecer e aprimorar o desenvolvimento de suas consultas.
Ajuda contextual ao seu alcance
Informações adicionais sobre um comando gerado pelo recurso de autocompletar podem ser acessadas com um clique Ctrl+Espaço. Um painel aparece imediatamente com detalhes sobre a função, o argumento ou o campo em questão. Essa interação simplificada mantém os desenvolvedores focados, fornecendo orientação imediata sem obrigá-los a sair do editor ou a procurar documentação externa. Isso reduz o tempo gasto em pesquisas de sintaxe e ajuda a evitar erros comuns antes que eles ocorram.
Veja como funciona na prática:

O PPL não possui esse nível de orientação integrada, deixando os usuários dependentes de documentação externa ou do método de tentativa e erro. Essa ausência não é apenas uma característica faltante; ela evidencia uma disparidade mais ampla na filosofia de design. ES|QL prioriza uma experiência ponderada e contextualizada que se adapta aos dados e ao fluxo de trabalho do usuário. Essa diferença torna-se mais acentuada à medida que as consultas aumentam em complexidade, fazendo do ES|QL Editor um ambiente mais eficiente e confiável tanto para aprendizado quanto para uso em produção.
Consultas recomendadas que levam em consideração o contexto dos dados.
O Editor ES|QL fornece consultas recomendadas que são automaticamente adaptadas aos dados com os quais você está trabalhando, como registros. Em vez de apresentar um editor em branco, ele destaca os pontos de partida mais relevantes para casos de uso comuns. Selecionar uma Consulta Recomendada gera uma consulta canônica que pode ser usada imediatamente e refinada conforme necessário. Essa abordagem acelera o desenvolvimento de consultas, especialmente para novos usuários que ainda não conhecem toda a sintaxe.
Aqui está um exemplo em que um usuário seleciona a consulta “Detectar Ponto de Mudança”:

Compare isso com a experiência do PPL:

Em contrapartida, o PPL oferece apenas o preenchimento automático básico, deixando você responsável por montar consultas sem contexto ou estrutura. Essa falta de orientação pode levar à frustração e à tentativa e erro.
Com as Consultas Recomendadas que levam em consideração os dados do Editor ES|QL, você pode evitar começar do zero ou memorizar a sintaxe para tarefas rotineiras. O editor reduz a carga cognitiva, ajuda a prevenir erros e permite que você se concentre na resolução de problemas e em objetivos mais amplos, como executar pesquisas entre clusters, em vez de se preocupar com a construção de consultas.
Consultas intuitivas entre clusters
O recurso de autocompletar do editor ES|QL continua sendo superior, mesmo ao trabalhar com vários clusters remotos com o CCS. Eis o motivo:
O editor ES|QL oferece preenchimento automático contínuo, mesmo em clusters diferentes.
O recurso de autocompletar no editor ES|QL suporta não apenas nomes de clusters, mas também índices locais e remotos. Conforme explicado aqui, isso funciona graças a uma arquitetura de nó coordenador, que ajuda a validar e gerar o plano de consulta a ser enviado aos nós locais, executar a consulta e agregar os resultados antes de enviá-los de volta ao usuário. Sem precisar digitar o nome completo do cluster remoto, digitar “:” inicia o processo de autocompletar para o índice remoto. E você não está limitado ao prefixo.
Isso facilita a descoberta e a consulta em conjuntos de dados distribuídos sem a necessidade de memorizar convenções de nomenclatura ou alternar entre contextos.
Aqui está um exemplo em que o usuário digita apenas “clu:g” para localizar um índice remoto:

Em nítido contraste, a PPL fornece apenas preenchimento básico para índices locais, com sugestões restritas a correspondências de prefixos. Os clusters remotos devem ser digitados manualmente, o que aumenta a probabilidade de erros e torna a criação de consultas mais lenta.

O PPL fornece preenchimento automático apenas para índices locais e as sugestões são restritas ao prefixo:

O ES|QL vai além, permitindo exclusões diretamente usando um sinal negativo, oferecendo controle preciso sobre quais clusters participam da sua exploração. Essa funcionalidade é particularmente valiosa ao trabalhar com ambientes híbridos, onde pode ser necessário incluir ou omitir conjuntos de dados específicos durante investigações entre clusters.

Essas melhorias refletem o foco mais amplo do Elasticsearch em reduzir o atrito na busca entre clusters. Ao facilitar a construção e o gerenciamento de consultas distribuídas, o ES|QL Editor permite que analistas e desenvolvedores se concentrem em insights em vez de sintaxe, enquanto o PPL deixa grande parte dessa responsabilidade para o usuário. Assim como o ES|QL Editor simplifica a criação de consultas entre clusters, ele também fornece ferramentas para inspecionar como essas consultas são executadas, garantindo transparência e monitoramento de desempenho em vários clusters.
Utilizando a ferramenta Inspection para analisar detalhes da pesquisa entre clusters.
A ferramenta Inspect, acessível a partir do Editor ES|QL, foi projetada para fornecer metadados com informações explícitas sobre a execução da consulta em todos os clusters. Essa funcionalidade está habilitada no Kibana Discover e pode ser acessada diretamente no inspetor de consultas, permitindo analisar o progresso e os detalhes da pesquisa, o que é particularmente crucial para a Pesquisa entre Clusters (CCS). Essa funcionalidade ajuda você a monitorar o progresso da pesquisa e a entender o desempenho das consultas em conjuntos de dados distribuídos.

Essa visibilidade detalhada da execução de consultas, especialmente para pesquisas distribuídas complexas, permite garantir o desempenho ideal e a resolução de problemas.
Além de compreender a mecânica das consultas individuais, o ES|QL Editor aprimora ainda mais a experiência do usuário, incorporando funcionalidades essenciais em toda a plataforma Kibana, promovendo um fluxo de trabalho contínuo e sem interrupções.
Experiência de consulta unificada com ES|QL e Kibana
Uma das fontes mais comuns de atrito na análise orientada por consultas é a troca de contexto. Muitas vezes você precisa relembrar perguntas que já escreveu. Cada interrupção quebra o foco e atrasa as investigações. O ES|QL Editor resolve isso integrando o histórico de consultas em todo o Kibana.
Consultas recentes
O recurso Consultas Recentes no Editor ES|QL ajuda você a manter o fluxo de trabalho, tornando o trabalho anterior instantaneamente acessível. No editor ES|QL do Discover, você pode visualizar, executar novamente e marcar com estrela suas últimas 20 consultas, garantindo que as consultas mais usadas ou complexas estejam a apenas um clique de distância. Essas consultas salvas também são transferidas para o Kibana, integrando-se a painéis, visualizações, alertas e mapas, para que você não precise sair da tela atual nem digitar os comandos novamente. Isso reduz o trabalho repetitivo, acelera as investigações e minimiza o risco de erros.
Por exemplo, um usuário pode utilizar as Consultas Recentes no Editor ES|QL do Discover (e marcá-las com uma estrela):

As consultas recentes estão integradas no painel de controle:

O PPL não oferece nenhuma funcionalidade comparável, obrigando os usuários a recorrerem à cópia e colagem manual ou a anotações externas para reutilizar consultas. A diferença vai além da conveniência; ela reflete a estratégia da Elastic de construir o ES|QL como uma linguagem verdadeiramente integrada ao ecossistema Kibana. Com recursos como Consultas Recentes, o ES|QL Editor não apenas simplifica os fluxos de trabalho diários, mas também estabelece as bases para funcionalidades mais avançadas, agora em versão prévia técnica, garantindo que a experiência continue a evoluir.
Conclusão
ES|QL é mais do que uma sintaxe; reflete a estratégia da Elastic para melhorar a forma como os usuários pesquisam, exploram e analisam dados. Com autocompletar inteligente, consultas recomendadas sensíveis ao contexto, orientações integradas ao editor e ferramentas como o Inspect, o ES|QL Editor acelera o aprendizado, reduz erros e simplifica fluxos de trabalho complexos, como a análise entre clusters. Integrado ao Kibana, ele conecta consultas perfeitamente a painéis, alertas e visualizações, garantindo um fluxo de trabalho ininterrupto.
Em resumo, ES|QL não é apenas mais uma linguagem de encaminhamento; é um mecanismo de consulta cuidadosamente projetado, aliado a uma interface de usuário intuitiva, que redefine fundamentalmente a forma como você interage com seus dados, oferecendo uma experiência integrada, inteligente e em constante evolução, que contrasta fortemente com a natureza frequentemente sequencial e menos guiada do OpenSearch PPL.
O que vem a seguir?
Este blog apenas aborda superficialmente o ES|QL. As próximas publicações aprofundarão as comparações com o OpenSearch PPL e explorarão recursos geoespaciais, de visualização e funcionalidades futuras do editor, como Controles (já disponíveis em Painéis), guias de exploração de múltiplos dados, pesquisa em segundo plano, histórico de consultas mais completo e FUSE.
Experimente o ES|QL hoje mesmo
Você pode experimentar o ES|QL em projetos Elasticsearch Serverless totalmente gerenciados com um período de avaliação gratuito. Também está disponível em versões a partir da 8.11, mas a melhor experiência é obtida nas versões 8.19 e 9.1.
Comece em minutos no seu ambiente local com um único comando:




