検索アプリケーションクエリのレンダリング
この機能は技術プレビュー中であり、将来のリリースで変更または削除される可能性があります。Elasticは問題を修正するために取り組みますが、技術プレビューの機能は公式GA機能のサポートSLAの対象ではありません。
指定されたクエリパラメータに基づいて、検索アプリケーションに関連付けられた検索テンプレートを使用してElasticsearchクエリを生成します。指定されていないテンプレートパラメータには、デフォルト値が割り当てられます(該当する場合)。生成され、検索アプリケーション検索を呼び出すことによって実行される特定のElasticsearchクエリを返します。
リクエスト
POST _application/search_application/<name>/_render_query
前提条件
検索アプリケーションのバックエイリアスに対する読み取り権限が必要です。
リクエストボディ
params
- (オプション、文字列からオブジェクトへのマップ)検索アプリケーションに関連付けられた検索テンプレートからElasticsearchクエリを生成するために使用されるクエリパラメータ。検索テンプレートで使用されるパラメータが
params
で指定されていない場合、そのパラメータのデフォルト値が使用されます。
検索アプリケーションは、検索テンプレートパラメータを検証するように構成できます。詳細については、検索アプリケーションを作成するAPIのdictionary
パラメータを参照してください。
レスポンスコード
400
- 検索テンプレートに無効なパラメータが渡されました。例としては:
- 必須パラメータが欠落している
- 無効なパラメータデータ型
- 無効なパラメータ値
404
- 検索アプリケーション
<name>
は存在しません。
例
以下の例は、テキスト検索の例からの検索テンプレートを使用するmy-app
という検索アプリケーションのクエリを生成します:
Python
resp = client.search_application.render_query(
name="my-app",
body={
"params": {
"query_string": "my first query",
"text_fields": [
{
"name": "title",
"boost": 5
},
{
"name": "description",
"boost": 1
}
]
}
},
)
print(resp)
Js
const response = await client.searchApplication.renderQuery({
name: "my-app",
body: {
params: {
query_string: "my first query",
text_fields: [
{
name: "title",
boost: 5,
},
{
name: "description",
boost: 1,
},
],
},
},
});
console.log(response);
コンソール
POST _application/search_application/my-app/_render_query
{
"params": {
"query_string": "my first query",
"text_fields": [
{"name": "title", "boost": 5},
{"name": "description", "boost": 1}
]
}
}
コンソール-結果
{
"from": 0,
"size": 10,
"query": {
"multi_match": {
"query": "my first query",
"fields": [
"description^1.0",
"title^5.0"
]
}
},
"explain": false
}
この場合、from
、size
、およびexplain
パラメータはリクエストで指定されていないため、検索テンプレートで指定されたデフォルト値が使用されます。