検索アプリケーションクエリのレンダリング

この機能は技術プレビュー中であり、将来のリリースで変更または削除される可能性があります。Elasticは問題を修正するために取り組みますが、技術プレビューの機能は公式GA機能のサポートSLAの対象ではありません。

指定されたクエリパラメータに基づいて、検索アプリケーションに関連付けられた検索テンプレートを使用してElasticsearchクエリを生成します。指定されていないテンプレートパラメータには、デフォルト値が割り当てられます(該当する場合)。生成され、検索アプリケーション検索を呼び出すことによって実行される特定のElasticsearchクエリを返します。

リクエスト

POST _application/search_application/<name>/_render_query

前提条件

検索アプリケーションのバックエイリアスに対する読み取り権限が必要です。

リクエストボディ

  • params
  • (オプション、文字列からオブジェクトへのマップ)検索アプリケーションに関連付けられた検索テンプレートからElasticsearchクエリを生成するために使用されるクエリパラメータ。検索テンプレートで使用されるパラメータがparamsで指定されていない場合、そのパラメータのデフォルト値が使用されます。

検索アプリケーションは、検索テンプレートパラメータを検証するように構成できます。詳細については、検索アプリケーションを作成するAPIのdictionaryパラメータを参照してください。

レスポンスコード

  • 400
  • 検索テンプレートに無効なパラメータが渡されました。例としては:
    • 必須パラメータが欠落している
    • 無効なパラメータデータ型
    • 無効なパラメータ値
  • 404
  • 検索アプリケーション<name>は存在しません。

以下の例は、テキスト検索の例からの検索テンプレートを使用するmy-appという検索アプリケーションのクエリを生成します:

Python

  1. resp = client.search_application.render_query(
  2. name="my-app",
  3. body={
  4. "params": {
  5. "query_string": "my first query",
  6. "text_fields": [
  7. {
  8. "name": "title",
  9. "boost": 5
  10. },
  11. {
  12. "name": "description",
  13. "boost": 1
  14. }
  15. ]
  16. }
  17. },
  18. )
  19. print(resp)

Js

  1. const response = await client.searchApplication.renderQuery({
  2. name: "my-app",
  3. body: {
  4. params: {
  5. query_string: "my first query",
  6. text_fields: [
  7. {
  8. name: "title",
  9. boost: 5,
  10. },
  11. {
  12. name: "description",
  13. boost: 1,
  14. },
  15. ],
  16. },
  17. },
  18. });
  19. console.log(response);

コンソール

  1. POST _application/search_application/my-app/_render_query
  2. {
  3. "params": {
  4. "query_string": "my first query",
  5. "text_fields": [
  6. {"name": "title", "boost": 5},
  7. {"name": "description", "boost": 1}
  8. ]
  9. }
  10. }

サンプルレスポンス:

コンソール-結果

  1. {
  2. "from": 0,
  3. "size": 10,
  4. "query": {
  5. "multi_match": {
  6. "query": "my first query",
  7. "fields": [
  8. "description^1.0",
  9. "title^5.0"
  10. ]
  11. }
  12. },
  13. "explain": false
  14. }

この場合、fromsize、およびexplainパラメータはリクエストで指定されていないため、検索テンプレートで指定されたデフォルト値が使用されます。