Combining range and script filter in elastic-search
As mentioned in my comments to @Richa's answer, the filtered
query is deprecated, too. You should just remove it all and simply use bool/filter
containing a range
and a script
filter.
{ "query": { "bool": { "filter": [ { "range": { "myDateField": { "from": "2015-10-09 00:00:00", "to": "2015-12-31 00:00:00" } } }, { "script": { "script": [ "doc['myDateField'].date.dayOfWeek == 6" ] } } ] } }}
If your version is < 2.x. Use bool filter
to combine multiple queries:
{"query": { "bool": { "must": [ { "range": { "myDateField": { "from": "2015-10-09 00:00:00", "to": "2015-12-31 00:00:00" } } }, { "script": { "script": [ "doc['myDateField'].date.dayOfWeek == 6" ] } } ] } }}
Filters
have been deprecated in 2.x version. You can use Bool Query
to achieve the same.