1、范圍數據類型
支持以下范圍類型:
integer_range : 一系列帶符號的32位整數,最小值為
,最大值為
float_range:一系列單精度32位IEEE 754浮點值。
long_range:一系列帶符號的64位整數,最小值為
,最大值為
double_range:一系列雙精度64位IEEE 754浮點值。
date_range:系統歷元以來的一系列日期值表示為無符號的64位整數毫秒。
ip_range:支持IPv4或IPv6(或混合)地址的一系列ip值。
以下是配置各種范圍字段映射的示例:
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" } }
以下是名為“time_frame”的date_range字段的date_range查詢示例
POST range_index/_search { "query" : { "range" : { "time_frame" : { "gte" : "2015-10-31", "lte" : "2015-11-01", "relation" : "within" } } } }

2、日期數據類型
JSON沒有日期數據類型,所以Elasticsearch中的日期可以是:
1、包含格式化日期的字符串,例如 “2015-01-01”或“2015/01/01 12:10:30”
2、一個代表毫秒數的長數字
3、一個代表秒的整數
在內部,日期轉換為UTC(如果指定時區)並存儲為表示毫秒以后的長數字。
日期格式可以自定義,但如果沒有指定格式,則使用默認格式:
