ES|QL メタデータフィールド
ES|QL は メタデータフィールド にアクセスできます。現在サポートされているものは次のとおりです:
_index
:ドキュメントが属するインデックス。フィールドのタイプは keyword です。_id
:ソースドキュメントの ID。フィールドのタイプは keyword です。_version
:ソースドキュメントのバージョン。フィールドのタイプは long です。_ignored
:無視されるソースドキュメントフィールド。フィールドのタイプは keyword です。
これらのフィールドへのアクセスを有効にするには、FROM
ソースコマンドに専用のディレクティブを提供する必要があります:
Esql
FROM index METADATA _index, _id
メタデータフィールドは、データのソースがインデックスである場合にのみ利用可能です。したがって、FROM
は METADATA
ディレクティブをサポートする唯一のソースコマンドです。
一度有効にされると、これらのフィールドは他のインデックスフィールドと同様に、後続の処理コマンドで利用可能になります:
Esql
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 |
インデックスフィールドと同様に、集約が実行されると、メタデータフィールドは後続のコマンドにアクセスできなくなります。ただし、グループ化フィールドとして使用される場合は除きます:
Esql
FROM employees METADATA _index, _id
| STATS max = MAX(emp_no) BY _index
max:integer | _index:keyword |
---|---|
10100 | employees |