Script query
Filters documents based on a provided script. The script
query is typically used in a filter context.
Using scripts can result in slower search speeds. See Scripts and search speed.
Example request
GET /_search
{
"query": {
"bool": {
"filter": {
"script": {
"script": {
"source": "doc['num1'].value > 1",
"lang": "painless"
}
}
}
}
}
}
Top-level parameters for script
script
(Required, script object) Contains a script to run as a query. This script must return a boolean value, true
or false
.
Notes
Custom Parameters
Like filters, scripts are cached for faster execution. If you frequently change the arguments of a script, we recommend you store them in the script’s params
parameter. For example:
GET /_search
{
"query": {
"bool": {
"filter": {
"script": {
"script": {
"source": "doc['num1'].value > params.param1",
"lang": "painless",
"params": {
"param1": 5
}
}
}
}
}
}
}
Allow expensive queries
Script queries will not be executed if search.allow_expensive_queries
is set to false.