New

The executive guide to generative AI

Read more
Loading

ES|QL

Elastic Stack Serverless

Elasticsearch Query Language (ES|QL) is a piped query language for filtering, transforming, and analyzing data.

You can author ES|QL queries to find specific events, perform statistical analysis, and generate visualizations. It supports a wide range of commands, functions, and operators to perform various data operations, such as filtering, aggregation, time-series analysis, and more. Today, it supports a subset of the features available in Query DSL, but it is rapidly evolving.

Note

ES|QL's compute architecture

ES|QL is built on top of a new compute architecture within Elasticsearch, designed to achieve high functional and performance requirements for ES|QL. ES|QL search, aggregation, and transformation functions are directly executed within Elasticsearch itself. Query expressions are not transpiled to Query DSL for execution. This approach allows ES|QL to be extremely performant and versatile.

The new ES|QL execution engine was designed with performance in mind — it operates on blocks at a time instead of per row, targets vectorization and cache locality, and embraces specialization and multi-threading. It is a separate component from the existing Elasticsearch aggregation framework with different performance characteristics.

The Elasticsearch Query Language (ES|QL) makes use of "pipes" (|) to manipulate and transform data in a step-by-step fashion. This approach allows you to compose a series of operations, where the output of one operation becomes the input for the next, enabling complex data transformations and analysis.

You can use it:

  • In your queries to Elasticsearch APIs, using the _query endpoint that accepts queries written in ES|QL syntax.
  • Within various Kibana tools such as Discover and Dashboards, to explore your data and build powerful visualizations.

Learn more about using ES|QL for Search use cases in this tutorial: Search and filter with ES|QL.

Find more details about ES|QL in the following documentation pages:

To get started, you can also try our ES|QL training course.