elasticsearch/docs/reference/query-languages/esql
2025-05-21 20:18:01 +10:00
..
_snippets ESQL: Document LU JOIN/MV_EXPAND not respecting SORT (#127718) (#127808) 2025-05-07 19:28:59 +10:00
commands [9.0] Split ES|QL functions/operators/commands into separate pages for similar functions and make commands examples generated (#126279) (#126624) 2025-04-11 03:20:07 +10:00
functions-operators Add license mention to ESQL categorize (#126666) (#126669) 2025-04-11 19:25:23 +10:00
images [9.0] Split ES|QL functions/operators/commands into separate pages for similar functions and make commands examples generated (#126279) (#126624) 2025-04-11 03:20:07 +10:00
kibana [9.0] Initial kibana definition files for command, currently only providing License information (#127829) (#127892) 2025-05-08 19:29:47 +10:00
esql-advanced.md [DOCS][9.x] Improve ESQL reference docs information architecture (#127248) (#127380) 2025-04-25 11:30:49 +02:00
esql-commands.md [9.0] Split ES|QL functions/operators/commands into separate pages for similar functions and make commands examples generated (#126279) (#126624) 2025-04-11 03:20:07 +10:00
esql-enrich-data.md [DOCS][9.x] Improve ESQL reference docs information architecture (#127248) (#127380) 2025-04-25 11:30:49 +02:00
esql-examples.md [9.0] [docs] Migrate docs from AsciiDoc to Markdown (#123507) (#124124) 2025-03-06 07:53:46 +01:00
esql-functions-operators.md [DOCS] Make ESQL functions/operators/commands overview accordions open by default (#128197) (#128238) 2025-05-21 20:18:01 +10:00
esql-implicit-casting.md [9.0] Split ES|QL functions/operators/commands into separate pages for similar functions and make commands examples generated (#126279) (#126624) 2025-04-11 03:20:07 +10:00
esql-lookup-join.md ESQL: Document LU JOIN/MV_EXPAND not respecting SORT (#127718) (#127808) 2025-05-07 19:28:59 +10:00
esql-metadata-fields.md [9.0] Split ES|QL functions/operators/commands into separate pages for similar functions and make commands examples generated (#126279) (#126624) 2025-04-11 03:20:07 +10:00
esql-multivalued-fields.md [DOCS][9.x] Improve ESQL reference docs information architecture (#127248) (#127380) 2025-04-25 11:30:49 +02:00
esql-process-data-with-dissect-grok.md [DOCS][9.x] Improve ESQL reference docs information architecture (#127248) (#127380) 2025-04-25 11:30:49 +02:00
esql-syntax-reference.md [DOCS][9.x] Improve ESQL reference docs information architecture (#127248) (#127380) 2025-04-25 11:30:49 +02:00
esql-syntax.md [DOCS][9.x] Improve ESQL reference docs information architecture (#127248) (#127380) 2025-04-25 11:30:49 +02:00
esql-time-spans.md [DOCS][9.x] Improve ESQL reference docs information architecture (#127248) (#127380) 2025-04-25 11:30:49 +02:00
esql-types-and-fields.md [DOCS][9.x] Improve ESQL reference docs information architecture (#127248) (#127380) 2025-04-25 11:30:49 +02:00
limitations.md [DOCS][9.x] Improve ESQL reference docs information architecture (#127248) (#127380) 2025-04-25 11:30:49 +02:00
README.md [9.0] ESQL autogenerate docs v3 (#124312) (#124786) 2025-03-14 06:33:18 +11:00

The ES|QL documentation is composed of static content and generated content. The static content exists in this directory and can be edited by hand. However, the sub-directories _snippets, images and kibana contain mostly generated content.

_snippets

In _snippets there are files that can be included within other files using the File Inclusion feature of the Elastic Docs V3 system. Most, but not all, files in this directory are generated. In particular the directories _snippets/functions/* and _snippets/operators/* contain subdirectories that are mostly generated:

  • description - description of each function scraped from @FunctionInfo#description
  • examples - examples of each function scraped from @FunctionInfo#examples
  • parameters - description of each function's parameters scraped from @Param
  • signature - railroad diagram of the syntax to invoke each function
  • types - a table of each combination of support type for each parameter. These are generated from tests.
  • layout - a fully generated description for each function

Most functions can use the generated docs generated in the layout directory. If we need something more custom for the function we can make a file in this directory that can include:: any parts of the files above.

To regenerate the files for a function run its tests using gradle. For example to generate docs for the CASE function:

./gradlew :x-pack:plugin:esql:test -Dtests.class='CaseTests'

To regenerate the files for all functions run all of ESQL's tests using gradle:

./gradlew :x-pack:plugin:esql:test

images

The images directory contains functions and operators sub-directories with the *.svg files used to describe the syntax of each function or operator. These are all generated by the same tests that generate the functions and operators docs above.

kibana

The kibana directory contains definition and docs sub-directories that are generated:

  • kibana/definition - function definitions for kibana's ESQL editor
  • kibana/docs - the inline docs for kibana

These are also generated as part of the unit tests described above.