Naarcha-AWS 7bb41fe4ce
Make API reference top level (#1637)
* Make API reference top level

Signed-off-by: Naarcha-AWS <naarcha@amazon.com>

* Fix typo on Drag and Drop page (#1633)

* Fix typo on Drag and Drop page

* Update _dashboards/drag-drop-wizard.md

Co-authored-by: Nate Bower <nbower@amazon.com>

* Update drag-drop-wizard.md

Co-authored-by: Nate Bower <nbower@amazon.com>

* Putting all the Docker install material on a single page (#1452)

* Putting all the Docker install material on a single page

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Making room for revamp

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Intro added

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Continuing to flesh out the intro section and overview

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Overview finalized

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Introducing docker compose

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Added link to compose

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Continuing docker image commentary

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Sometimes I wonder if anyone reads these

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Adding notes on installing compose with pip

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Adding prereqs

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Magnets - how do they work?

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Almonds and peaches are part of the same plant subgenus, Amygdalus

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* There are 293 ways to make change for a dollar

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* A shark is the only known fish that can blink with both eyes

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* A crocodile cannot stick its tongue out

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* wording

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Reorganizing a couple paragraphs to make it flow better

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Forgot a word

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Add tip about pruning stopped containers

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Cleaning up

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Add blurb about container ls

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Adding the Docker Compose stuff

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Working on compose

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Continuing work on the compose section - it's a lot of info

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Added important settings

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Updates to settings that need configured

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Still working through compose things

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Fixed wording

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Working through compose commands and guidance

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Reordering/rewording

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* More phrasing

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* More wording in steps

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* More wording in steps

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Organizing

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Adding stuff and things

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Continuing to work through the configuration steps

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Fixes

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Fixes

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Still working on the configuration steps

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Changes

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* More work

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Removed perf analyzer - refer to GH issue 1555

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Fixing things

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Adding guidance on passing settings in compose

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Working through dockerfile materials now

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* wording

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Finalized the sample dev compose file

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Continuing work with configuration

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Finished - ready for reviews

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Fixed a link I forgot to change before

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Changes from first proofread

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Changed heading

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Addressed reviewer comments and made some changes

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Forgot to incorporate one change. Fixed.

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Final editorial changes

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* fix#1584-custom_attr_allowlist (#1636)

Signed-off-by: cwillum <cwmmoore@amazon.com>

Signed-off-by: cwillum <cwmmoore@amazon.com>

* Update TERMS.md with definition for Setting (#1632)

* fix#1631-Terms-setting

Signed-off-by: cwillum <cwmmoore@amazon.com>

* fix#1631-Terms-setting

Signed-off-by: cwillum <cwmmoore@amazon.com>

Signed-off-by: cwillum <cwmmoore@amazon.com>

* Add disclaimer about remote fs usage and an example of setting env var (#1644)

* Add disclaimer about remote fs usage and an example of setting env var

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* Enhanced wording a little bit

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>

* [DOC] New documentation: Self-host maps server (#1625)

* Add new page self-host maps server

Signed-off-by: vagimeli <vagimeli@amazon.com>

* Added new content

Signed-off-by: vagimeli <vagimeli@amazon.com>

* Copy edit

Signed-off-by: vagimeli <vagimeli@amazon.com>

* Tech review edits

Signed-off-by: vagimeli <vagimeli@amazon.com>

* Doc review edits

Signed-off-by: vagimeli <vagimeli@amazon.com>

* Editorial review changes

Signed-off-by: vagimeli <vagimeli@amazon.com>

* Final edits

Signed-off-by: vagimeli <vagimeli@amazon.com>

Signed-off-by: vagimeli <vagimeli@amazon.com>

* Add feedback.

Signed-off-by: Naarcha-AWS <naarcha@amazon.com>

* Fix links

Signed-off-by: Naarcha-AWS <naarcha@amazon.com>

Signed-off-by: Naarcha-AWS <naarcha@amazon.com>
Signed-off-by: JeffH-AWS <jeffhuss@amazon.com>
Signed-off-by: cwillum <cwmmoore@amazon.com>
Signed-off-by: vagimeli <vagimeli@amazon.com>
Co-authored-by: Nate Bower <nbower@amazon.com>
Co-authored-by: Jeff Huss <jeffhuss@amazon.com>
Co-authored-by: Chris Moore <107723039+cwillum@users.noreply.github.com>
Co-authored-by: Melissa Vagi <105296784+vagimeli@users.noreply.github.com>
2022-10-27 11:50:39 -05:00

112 lines
3.8 KiB
Markdown

---
layout: default
title: Create or Update Stored Script
parent: Script APIs
nav_order: 1
---
## Create or update stored script
Creates or updates a stored script or search template.
For additional information about Painless scripting, see:
* [k-NN Painless Scripting extensions]({{site.url}}{{site.baseurl}}/search-plugins/knn/painless-functions/).
* [k-NN]({{site.url}}{{site.baseurl}}/search-plugins/knn/index/).
### Path parameters
| Parameter | Data Type | Description |
:--- | :--- | :---
| script-id | String | Stored script or search template ID. Must be unique across the cluster. Required. |
### Query parameters
All parameters are optional.
| Parameter | Data Type | Description |
:--- | :--- | :---
| context | String | Context in which the script or search template is to run. To prevent errors, the API immediately compiles the script or template in this context. |
| cluster_manager_timeout | Time | Amount of time to wait for a connection to the cluster manager. Defaults to 30 seconds. |
| timeout | Time | The period of time to wait for a response. If a response is not received before the timeout value, the request fails and returns an error. Defaults to 30 seconds.|
### Request fields
| Field | Data Type | Description |
:--- | :--- | :---
| script | Object | Defines the script or search template, its parameters, and its language. See *Script object* below. |
*Script object*
| Field | Data Type | Description |
:--- | :--- | :---
| lang | String | Scripting language. Required. |
| source | String or Object | Required. <br /> <br /> For scripts, a string with the contents of the script. <br /> <br /> For search templates, an object that defines the search template. Supports the same parameters as the [Search]({{site.url}}{{site.baseurl}}/api-reference/search) API request body. Search templates also support Mustache variables. |
#### Sample request
The sample uses an index called `books` with the following documents:
````json
{"index":{"_id":1}}
{"name":"book1","author":"Faustine","ratings":[4,3,5]}
{"index":{"_id":2}}
{"name":"book2","author":"Amit","ratings":[5,5,5]}
{"index":{"_id":3}}
{"name":"book3","author":"Gilroy","ratings":[2,1,5]}
````
The following request creates the Painless script `my-first-script`. It sums the ratings for each book and displays the sum in the output.
````json
PUT _scripts/my-first-script
{
"script": {
"lang": "painless",
"source": """
int total = 0;
for (int i = 0; i < doc['ratings'].length; ++i) {
total += doc['ratings'][i];
}
return total;
"""
}
}
````
The example above uses the syntax of the Dev Tools console in OpenSearch Dashboards. You can also use a curl request.
{: .note }
The following curl request is equivalent to the previous Dashboards console example:
````json
curl -XPUT "http://opensearch:9200/_scripts/my-first-script" -H 'Content-Type: application/json' -d'
{
"script": {
"lang": "painless",
"source": "\n int total = 0;\n for (int i = 0; i < doc['\''ratings'\''].length; ++i) {\n total += doc['\''ratings'\''][i];\n }\n return total;\n "
}
}'
````
See [Execute Painless stored script]({{site.url}}{{site.baseurl}}/api-reference/script-apis/exec-stored-script/) for information about running the script.
#### Sample response
The `PUT _scripts/my-first-script` request returns the following field:
````json
{
"acknowledged" : true
}
````
To determine whether the script was successfully created, use the [Get stored script]({{site.url}}{{site.baseurl}}/api-reference/script-apis/get-stored-script/) API, passing the script name as the `script` path parameter.
{: .note}
### Response fields
| Field | Data Type | Description |
:--- | :--- | :---
| acknowledged | Boolean | whether the request was received. |