保存されたスクリプトAPIの作成または更新
保存されたスクリプトまたは検索テンプレートを作成または更新します。
Python
resp = client.put_script(
id="my-stored-script",
script={
"lang": "painless",
"source": "Math.log(_score * 2) + params['my_modifier']"
},
)
print(resp)
Ruby
response = client.put_script(
id: 'my-stored-script',
body: {
script: {
lang: 'painless',
source: "Math.log(_score * 2) + params['my_modifier']"
}
}
)
puts response
Js
const response = await client.putScript({
id: "my-stored-script",
script: {
lang: "painless",
source: "Math.log(_score * 2) + params['my_modifier']",
},
});
console.log(response);
コンソール
PUT _scripts/my-stored-script
{
"script": {
"lang": "painless",
"source": "Math.log(_score * 2) + params['my_modifier']"
}
}
リクエスト
PUT _scripts/<script-id>
POST _scripts/<script-id>
PUT _scripts/<script-id>/<context>
POST _scripts/<script-id>/<context>
前提条件
- Elasticsearchのセキュリティ機能が有効になっている場合、このAPIを使用するには
manage
クラスター権限が必要です。
パスパラメータ
<script-id>
- (必須、文字列) 保存されたスクリプトまたは検索テンプレートの識別子。クラスター内で一意である必要があります。
<context>
- (オプション、文字列) スクリプトまたは検索テンプレートが実行されるコンテキスト。エラーを防ぐために、APIはこのコンテキストでスクリプトまたはテンプレートを即座にコンパイルします。
クエリパラメータ
context
- (オプション、文字列) スクリプトまたは検索テンプレートが実行されるコンテキスト。エラーを防ぐために、APIはこのコンテキストでスクリプトまたはテンプレートを即座にコンパイルします。
このパラメータと<context>
リクエストパスパラメータの両方を指定した場合、APIはリクエストパスパラメータを使用します。 master_timeout
- (オプション、時間単位) マスターノードを待機する期間。タイムアウトが切れる前にマスターノードが利用できない場合、リクエストは失敗し、エラーが返されます。デフォルトは
30s
です。リクエストがタイムアウトしないことを示すために-1
に設定することもできます。 timeout
- (オプション、時間単位) クラスターのメタデータを更新した後、クラスター内のすべての関連ノードからの応答を待機する期間。タイムアウトが切れる前に応答が受信されない場合、クラスターのメタデータの更新は適用されますが、応答は完全に承認されなかったことを示します。デフォルトは
30s
です。リクエストがタイムアウトしないことを示すために-1
に設定することもできます。
リクエストボディ
script
- (必須、オブジェクト) スクリプトまたは検索テンプレート、そのパラメータ、およびその言語を含みます。
- `````lang