Combining range and script filter in elastic-search Combining range and script filter in elastic-search elasticsearch elasticsearch

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.