WARNING: Version 6.0 of Elasticsearch has passed its EOL date.
This documentation is no longer being maintained and may be removed. If you are running this version, we strongly advise you to upgrade. For the latest information, see the current release documentation.
Scripting changesedit
Groovy, JavaScript, and Python languages removededit
The Groovy, JavaScript, and Python scripting languages were deprecated in elasticsearch 5.0 and have now been removed. Use painless instead.
Native scripts removededit
Native scripts have been removed. Instead,
implement a ScriptEngine
.
File scripts removededit
File scripts have been removed. Instead, use stored scripts. The associated setting
path.scripts
has also been removed.
Date fields now return datesedit
doc.some_date_field.value
now returns ReadableDateTime
s instead of
milliseconds since epoch as a long
. The same is true for
doc.some_date_field[some_number]
. Use doc.some_date_field.value.millis
to
fetch the milliseconds since epoch if you need it.
Removed access to index internal via the _index
variableedit
The _index
variable has been removed. If you used it for advanced scoring, consider writing a Similarity
plugin.
Script Settingsedit
All of the existing scripting security settings have been removed. Instead
they are replaced with script.allowed_types
and script.allowed_contexts
.
lang
can no longer be specified when using a stored script as part of a requestedit
The lang
variable can no longer be specified as part of a request that uses a stored
script otherwise an error will occur. Note that a request using a stored script is
different from a request that puts a stored script. The language of the script has
already been stored as part of the cluster state and an id
is sufficient to access
all of the information necessary to execute a stored script.
'lang` can no longer be used when putting, getting, or deleting a stored scriptedit
Stored scripts can no longer have the lang
parameter specified as part of the url
when performing PUT, GET, and DELETE actions on the _scripts/
path. All stored
scripts must have a unique id
as the namespace is only id
now and no longer lang
and id
.
Stored search template apis removededit
The PUT, GET and DELETE _search/template
apis have been removed. Store search templates with the stored scripts apis instead.
For example, previously one might have stored a search template with the following:
PUT /_search/template/custom_template { "query": { "match": { "f1": "{{f1}}" } } }
And instead one would now use the following:
PUT /_scripts/custom_template { "script": { "lang": "mustache", "source": { "query": { "match": { "f1": "{{f1}}" } } } } }