赞
踩
时间格式是可以自定义的,但是如果没有指定一个格式,它将使用默认的格式(时间格式里面必须包含年份,并且时间中的时分秒是可选的),例如格式:yyyy-MM-dd'T'HH:mm:ss.SSSSSSZ
or yyyy-MM-dd
说明一下:T表示分隔符,Z表示UTC世界标准时间,在标准时间上加8小时,就是北京时间
举例
#索引创建
PUT /my_test
{
"mappings": {
"properties": {
"my_time":{
"type": "date"
}
}
}
}
#正确 PUT /my_test/_doc/1 { "my_time":"2015-01-01" } #正确 PUT /my_test/_doc/2 { "my_time":"2015-01-01T12:10:30Z" } #正确 PUT /my_test/_doc/3 { "my_time":"1420070400001" } #正确 PUT /my_test/_doc/4 { "my_time":"2015" } #错误 PUT /my_test/_doc/5 { "my_time":"2015-01-01 12:10:30" }
#索引创建
PUT /my_test
{
"mappings": {
"properties": {
"my_time":{
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||yyyyMMdd"
}
}
}
}
#正确 PUT /my_test/_doc/1 { "my_time":"2015-05-05 23:10:30" } #正确 PUT /my_test/_doc/2 { "my_time":"2015-01-01 12:10:30" } #正确 PUT /my_test/_doc/3 { "my_time":"2016-01-01 12:10:30" } #正确 PUT /my_test/_doc/4 { "my_time":"20170228" } #正确 PUT /my_test/_doc/5 { "my_time":null }
使用es执行range在date类型字段上的查询
GET /my_test/_search { "sort": [ { "_id": { "order": "asc" } } ], "query": { "range": { "my_time": { "gte": "2022-10-26 15:46:00||-6M", "lte": "2022-10-26 15:46:00" } } } }
详细参考:https://www.elastic.co/guide/en/elasticsearch/reference/7.12/query-dsl-range-query.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。