index.asciidoc 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. [[esql]]
  2. = {esql}
  3. :esql-tests: {elasticsearch-root}/x-pack/docs/{lang}/../../plugin/esql/qa
  4. :esql-specs: {esql-tests}/testFixtures/src/main/resources
  5. [partintro]
  6. The {es} Query Language ({esql}) provides a powerful way to filter, transform,
  7. and analyze data stored in {es}, and in the future in other runtimes. It is
  8. designed to be easy to learn and use, by end users, SRE teams, application
  9. developers, and administrators.
  10. Users can author {esql} queries to find specific events, perform statistical
  11. analysis, and generate visualizations. It supports a wide range of commands and
  12. functions that enable users to perform various data operations, such as
  13. filtering, aggregation, time-series analysis, and more.
  14. The {es} Query Language ({esql}) makes use of "pipes" (|) to manipulate and
  15. transform data in a step-by-step fashion. This approach allows users to compose
  16. a series of operations, where the output of one operation becomes the input for
  17. the next, enabling complex data transformations and analysis.
  18. [discrete]
  19. === The {esql} Compute Engine
  20. {esql} is more than a language: it represents a significant investment in new
  21. compute capabilities within {es}. To achieve both the functional and performance
  22. requirements for {esql}, it was necessary to build an entirely new compute
  23. architecture. {esql} search, aggregation, and transformation functions are
  24. directly executed within Elasticsearch itself. Query expressions are not
  25. transpiled to Query DSL for execution. This approach allows {esql} to be
  26. extremely performant and versatile.
  27. The new {esql} execution engine was designed with performance in mind — it
  28. operates on blocks at a time instead of per row, targets vectorization and cache
  29. locality, and embraces specialization and multi-threading. It is a separate
  30. component from the existing Elasticsearch aggregation framework with different
  31. performance characteristics.
  32. The {esql} documentation is organized in these sections:
  33. <<esql-getting-started>>::
  34. A tutorial to help you get started with {esql}.
  35. <<esql-language>>::
  36. Reference documentation for the <<esql-syntax,{esql} syntax>>,
  37. <<esql-commands,commands>>, and <<esql-functions-operators,functions and
  38. operators>>. Information about working with <<esql-metadata-fields,metadata
  39. fields>> and <<esql-multivalued-fields,multivalued fields>>. And guidance for
  40. <<esql-process-data-with-dissect-and-grok,data processing with DISSECT and
  41. GROK>> and <<esql-enrich-data,data enrichment with ENRICH>>.
  42. <<esql-using>>::
  43. An overview of using the <<esql-rest>>, <<esql-kibana>>,
  44. <<esql-elastic-security>>, <<esql-cross-clusters>>, and <<esql-task-management>>.
  45. <<esql-limitations>>::
  46. The current limitations of {esql}.
  47. <<esql-examples>>::
  48. A few examples of what you can do with {esql}.
  49. include::esql-get-started.asciidoc[]
  50. include::esql-language.asciidoc[]
  51. include::esql-using.asciidoc[]
  52. include::esql-limitations.asciidoc[]
  53. include::esql-examples.asciidoc[]
  54. :esql-tests!:
  55. :esql-specs!: