ElasticSearch数据类型 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_indexfloat数值范围
{
"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(如果指定时区)并存储为表⽰毫秒以后的长数字。
⽇期格式可以⾃定义,但如果没有指定格式,则使⽤默认格式:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论