Put Stored Script APIedit
Put Stored Script Requestedit
A PutStoredScriptRequest
requires an id
and content
:
Contentedit
The content of a script can be written in different languages and provided in different ways:
XContentBuilder builder = XContentFactory.jsonBuilder(); builder.startObject(); { builder.startObject("script"); { builder.field("lang", "painless"); builder.field("source", "Math.log(_score * 2) + params.multiplier"); } builder.endObject(); } builder.endObject(); request.content(BytesReference.bytes(builder), XContentType.JSON);
Specify a painless script and provided as |
XContentBuilder builder = XContentFactory.jsonBuilder(); builder.startObject(); { builder.startObject("script"); { builder.field("lang", "mustache"); builder.field("source", "{\"query\":{\"match\":{\"title\":\"{{query_string}}\"}}}"); } builder.endObject(); } builder.endObject(); request.content(BytesReference.bytes(builder), XContentType.JSON);
Optional argumentsedit
The following arguments can optionally be provided:
Timeout to wait for the all the nodes to acknowledge the script creation as a |
|
Timeout to wait for the all the nodes to acknowledge the script creation as a |
Synchronous Executionedit
AcknowledgedResponse putStoredScriptResponse = client.putScript(request, RequestOptions.DEFAULT);
Asynchronous Executionedit
The asynchronous execution of a put stored script request requires both the PutStoredScriptRequest
instance and an ActionListener
instance to be passed to the asynchronous method:
Action Listeneredit
The asynchronous method does not block and returns immediately. Once it is
completed the ActionListener
is called back using the onResponse
method
if the execution successfully completed or using the onFailure
method if
it failed.
A typical listener for AcknowledgedResponse
looks like:
Put Stored Script Responseedit
The returned AcknowledgedResponse
allows to retrieve information about the
executed operation as follows: