elasticsearch range filter for array field
Elasticsearch always considers that a field can contain a list of values so, a range filter should work. If any of the values matches the range it will be filtered in.
You can use that filter as part of a filtered query:
{ "query": { "filtered": { "filter": { "range": { "prices": { "gte": 10000, "lte": 20002 } } } } }}
However, filtered query is deprecated in 2.0, so, if you are using 2.0 you can better use a bool query with a filter:
{ "query": { "bool": { "must": { "match_all": {} }, "filter": { "range": { "prices": { "gte": 10000, "lte": 20002 } } } } }}
Note that I'm using a filter in my examples because you asked for a filter :)