ES|QLクエリAPI

ES|QL (Elasticsearchクエリ言語)クエリの検索結果を返します。

Python

  1. resp = client.esql.query(
  2. 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 ",
  3. )
  4. print(resp)

Js

  1. const response = await client.esql.query({
  2. query:
  3. "\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 ",
  4. });
  5. console.log(response);

コンソール

  1. POST /_query
  2. {
  3. "query": """
  4. FROM library
  5. | EVAL year = DATE_TRUNC(1 YEARS, release_date)
  6. | STATS MAX(page_count) BY year
  7. | SORT year
  8. | LIMIT 5
  9. """
  10. }

リクエスト

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がボディに送信された場合にのみ返されます。オブジェクト自体は人間のデバッグ用であり、いつでも変更される可能性があります。