123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- [[create-stored-script-api]]
- === Create or update stored script API
- ++++
- <titleabbrev>Create or update stored script</titleabbrev>
- ++++
- Creates or updates a <<script-stored-scripts,stored script>> or
- <<search-template,search template>>.
- [source,console]
- ----
- PUT _scripts/my-stored-script
- {
- "script": {
- "lang": "painless",
- "source": """
- TimestampHour date = doc['@timestamp'].value;
- return date.getHour()
- """
- }
- }
- ----
- [[create-stored-script-api-request]]
- ==== {api-request-title}
- `PUT _search/<script-id>`
- `POST _scripts/<script-id>`
- `PUT _search/<script-id>/<context>`
- `POST _scripts/<script-id>/<context>`
- [[create-stored-script-api-prereqs]]
- ==== {api-prereq-title}
- * If the {es} {security-features} are enabled, you must have the `manage`
- <<privileges-list-cluster,cluster privilege>> to use this API.
- [[create-stored-script-api-path-params]]
- ==== {api-path-parms-title}
- `<script-id>`::
- (Required, string)
- Name or identifier for the stored script or search template. Must be unique
- within the cluster.
- `<context>`::
- (Optional, string)
- Context in which the script or search template should run. To prevent errors,
- the API immediately compiles the script or template in this context.
- [[create-stored-script-api-query-params]]
- ==== {api-query-parms-title}
- `context`::
- (Optional, string)
- Context in which the script or search template should run. To prevent errors,
- the API immediately compiles the script or template in this context.
- +
- If you specify both this and the `<context>` request path parameter, the API
- uses the request path parameter.
- include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=timeoutparms]
- [role="child_attributes"]
- [[create-stored-script-api-request-body]]
- ==== {api-request-body-title}
- `script`::
- (Required, object)
- Contains the script or search template, its parameters, and its language.
- +
- .Properties of `script`
- [%collapsible%open]
- ====
- `lang`::
- (Required, string)
- <<scripting-available-languages,Script language>>. For search templates, use
- `mustache`.
- `source`::
- (Required, string)
- Script or search template.
- `params`::
- (Optional, object)
- Parameters for the script or search template.
- ====
- [[create-stored-script-api-example]]
- ==== {api-examples-title}
- The following request stores a search template. Search templates must use a
- `lang` of `mustache`.
- [source,console]
- ----
- PUT _scripts/my-search-template
- {
- "script": {
- "lang": "mustache",
- "source": {
- "from": "{{from}}{{^from}}0{{/from}}",
- "size": "{{size}}{{^size}}10{{/size}}",
- "query": {
- "match": {
- "content": "{{query_string}}"
- }
- }
- }
- }
- }
- ----
|