WARNING: Version 5.4 of Elasticsearch has passed its EOL date.
This documentation is no longer being maintained and may be removed. If you are running this version, we strongly advise you to upgrade. For the latest information, see the current release documentation.
Range datatypes
editRange datatypes
editThe following range types are supported:
|
A range of signed 32-bit integers with a minimum value of |
|
A range of single-precision 32-bit IEEE 754 floating point values. |
|
A range of signed 64-bit integers with a minimum value of |
|
A range of double-precision 64-bit IEEE 754 floating point values. |
|
A range of date values represented as unsigned 64-bit integer milliseconds elapsed since system epoch. |
Below is an example of configuring a mapping with various range fields followed by an example that indexes several range types.
PUT range_index { "mappings": { "my_type": { "properties": { "expected_attendees": { "type": "integer_range" }, "time_frame": { "type": "date_range", "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis" } } } } } PUT range_index/my_type/1 { "expected_attendees" : { "gte" : 10, "lte" : 20 }, "time_frame" : { "gte" : "2015-10-31 12:00:00", "lte" : "2015-11-01" } }
The following is an example of a date_range
query over the date_range
field named "time_frame".
POST range_index/_search { "query" : { "range" : { "time_frame" : { "gte" : "2015-10-31", "lte" : "2015-11-01", "relation" : "within" } } } }
The result produced by the above query.
{ "took": 13, "timed_out": false, "_shards" : { "total": 2, "successful": 2, "failed": 0 }, "hits" : { "total" : 1, "max_score" : 1.0, "hits" : [ { "_index" : "range_index", "_type" : "my_type", "_id" : "1", "_score" : 1.0, "_source" : { "expected_attendees" : { "gte" : 10, "lte" : 20 }, "time_frame" : { "gte" : "2015-10-31 12:00:00", "lte" : "2015-11-01" } } } ] } }
|
|
Example indexing a meeting with 10 to 20 attendees. |
|
Date ranges accept the same format as described in date range queries. |
|
Example date range using date time stamp. This also accepts date math formatting, or "now" for system time. |
|
Range queries work the same as described in range query. |
|
Range queries over range fields support a |
Parameters for range fields
editThe following parameters are accepted by range types:
Try to convert strings to numbers and truncate fractions for integers.
Accepts |
|
Mapping field-level query time boosting. Accepts a floating point number, defaults
to |
|
Whether or not the field value should be included in the
|
|
Should the field be searchable? Accepts |
|
Whether the field value should be stored and retrievable separately from
the |