WARNING: Deprecated in 7.15.0.
The Java REST Client is deprecated in favor of the Java API Client.
Create or update stored script APIedit
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 create or update 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:
Responseedit
The returned AcknowledgedResponse
allows to retrieve information about the
executed operation as follows: