ES|QLクエリAPI
ES|QL (Elasticsearchクエリ言語)クエリの検索結果を返します。
Python
resp = client.esql.query(
query="\n FROM library\n | EVAL year = DATE_TRUNC(1 YEARS, release_date)\n | STATS MAX(page_count) BY year\n | SORT year\n | LIMIT 5\n ",
)
print(resp)
Js
const response = await client.esql.query({
query:
"\n FROM library\n | EVAL year = DATE_TRUNC(1 YEARS, release_date)\n | STATS MAX(page_count) BY year\n | SORT year\n | LIMIT 5\n ",
});
console.log(response);
コンソール
POST /_query
{
"query": """
FROM library
| EVAL year = DATE_TRUNC(1 YEARS, release_date)
| STATS MAX(page_count) BY year
| SORT year
| LIMIT 5
"""
}
リクエスト
POST _query
前提条件
- Elasticsearchのセキュリティ機能が有効な場合、検索するデータストリーム、インデックス、またはエイリアスに対して
read
インデックス権限を持っている必要があります。
クエリパラメータ
delimiter
- (オプション、文字列) CSV結果の区切り文字。デフォルトは
,
です。APIはCSVレスポンスに対してのみこのパラメータをサポートします。 drop_null_columns
- (オプション、ブール値) 完全に
null
である列をcolumns
およびvalues
の結果部分から削除する必要がありますか?デフォルトはfalse
です。true
の場合、レスポンスにはall_columns
という名前の追加セクションが含まれ、すべての列の名前が表示されます。 format
- (オプション、文字列) レスポンスのフォーマット。有効な値については、レスポンスフォーマットを参照してください。
Accept
HTTPヘッダーを使用してフォーマットを指定することもできます。このパラメータとAccept
HTTPヘッダーの両方を指定した場合、このパラメータが優先されます。
リクエストボディ
columnar
- (オプション、ブール値)
true
の場合、結果を列形式で返します。デフォルトはfalse
です。APIはCBOR、JSON、SMILE、およびYAMLレスポンスに対してのみこのパラメータをサポートします。列形式の結果を参照してください。 locale
- (オプション、文字列) 結果(特に日付)をロケールの慣習に従ってフォーマットして返します。構文については、ローカライズされた結果の返却を参照してください。
params
- (オプション、配列)
query
のパラメータの値。構文については、クエリへのパラメータの渡し方を参照してください。 profile
- (オプション、ブール値) 提供され、
true
の場合、レスポンスにはクエリがどのように実行されたかに関する情報を含む追加のprofile
オブジェクトが含まれます。これは、クエリの各部分のパフォーマンスに関する洞察を提供します。これは人間のデバッグ用であり、オブジェクトのフォーマットはいつでも変更される可能性があります。 query
- (必須、文字列) 実行するES|QLクエリ。構文については、構文リファレンスを参照してください。
レスポンスボディ
columns
- (オブジェクトの配列)
name
およびtype
の列がvalues
で返されます。各オブジェクトは単一の列です。 all_columns
- (オブジェクトの配列) 各クエリされた列の
name
およびtype
の列。各オブジェクトは単一の列です。これは、drop_null_columns
がリクエストと共に送信された場合にのみ返されます。 values
- (配列の配列) 検索結果の値。
profile
- (オブジェクト) クエリの実行を説明するプロファイル。
profile
がボディに送信された場合にのみ返されます。オブジェクト自体は人間のデバッグ用であり、いつでも変更される可能性があります。