index.asciidoc 2.8 KB

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