Matches documents with fields that have terms within a certain range.
The type of the Lucene query depends on the field type, for string
fields, the TermRangeQuery, while for number/date fields, the query is
a NumericRangeQuery. The following example returns all documents where
age is between 10 and 20:

Note that if the date misses some of the year, month and day coordinates, the
missing parts are filled with the start of
unix time, which is January 1st, 1970.
This means, that when e.g. specifying dd as the format, a value like "gte" : 10
will translate to 1970-01-10T00:00:00.000Z.

now is not affected by the time_zone parameter, its always the current system time (in UTC).
However, when using date math rounding (e.g. down to the nearest day using now/d),
the provided time_zone will be considered.

range queries can be used on fields of type range, allowing to
match a range specified in the query with a range field value in the document.
The relation parameter controls how these two ranges are matched:

WITHIN

Matches documents who’s range field is entirely within the query’s range.