ES|QL metadata fields
editES|QL metadata fields
editES|QL can access metadata fields.
To access these fields, use the METADATA
directive with the FROM
source command. For example:
FROM index METADATA _index, _id
Available metadata fields
editThe following metadata fields are available in ES|QL:
Metadata field | Type | Description |
---|---|---|
Unique document ID. |
||
Names every field in a document that was ignored when the document was indexed. |
||
Index name. |
||
|
Index mode. For example: |
|
|
Query relevance score (when enabled). Scores are updated when using full text search functions. |
|
Special |
Original JSON document body passed at index time (or a reconstructed version if synthetic |
|
|
Document version number |
Usage and limitations
edit- Metadata fields are only available when the data source is an index
-
The
_source
type is not supported by functions -
Only the
FROM
command supports theMETADATA
directive - Once enabled, metadata fields work like regular index fields
Examples
editBasic metadata usage
editOnce enabled, metadata fields are available to subsequent processing commands, just like other index fields:
FROM ul_logs, apps METADATA _index, _version | WHERE id IN (13, 14) AND _version == 1 | EVAL key = CONCAT(_index, "_", TO_STR(id)) | SORT id, _index | KEEP id, _index, _version, key
id:long | _index:keyword | _version:long | key:keyword |
---|---|---|---|
13 |
apps |
1 |
apps_13 |
13 |
ul_logs |
1 |
ul_logs_13 |
14 |
apps |
1 |
apps_14 |
14 |
ul_logs |
1 |
ul_logs_14 |
Metadata fields and aggregations
editSimilar to index fields, once an aggregation is performed, a metadata field will no longer be accessible to subsequent commands, unless used as a grouping field:
FROM employees METADATA _index, _id | STATS max = MAX(emp_no) BY _index
max:integer | _index:keyword |
---|---|
10100 |
employees |
Sort results by search score
editFROM products METADATA _score | WHERE MATCH(description, "wireless headphones") | SORT _score DESC | KEEP name, description, _score
Refer to Using ES|QL for search for more information on relevance scoring and how to use _score
in your queries.