Elasticsearch中定义时间的类型为Date

Elasticsearch原生支持date类型,json格式通过字符来表示date类型。所以在用json提交日期至elasticsearch的时候,es会隐式转换,

把es认为是date类型的字符串直接转为date类型。至于什么样的字符串es会认为可以转换成date类型,参考elasticsearch官网介绍:

https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-date-format.html

date type默认格式:

"strict_date_optional_time||epoch_millis"

date类型是包含时区信息的,如果我们没有在json代表日期的字符串中显式指定时区,对es来说没什么问题,

但是如果通过kibana显示es里的数据时,就会出现问题,数据的时间会晚8个小时。因为kibana从es里读取的date类型数据,没有时区信息,

kibana会默认当作0时区来解析,但是kibana在通过浏览器展示的时候,会通过js获取当前客户端机器所在的时区,也就是东八区,

所以kibana会把从es得到的日期数据减去8小时。这里就会导致kibana经常遇到的“数据时间延迟8小时”的问题。

所以最佳实践方案就是:我们在往es提交日期数据的时候,直接提交带有时区信息的日期字符串,如:“2016-07-15T12:58:17.136+0800”。

##索引中定义的日期格式与提交数据的日期格式要一致,否则会报错。

创建索引是指定date format示例:

PUT my_index
{"mappings": {"_doc": {"properties": {"date": {"type":   "date","format": "yyyy-MM-dd"}}}}
}

date官网介绍:
https://www.elastic.co/guide/en/elasticsearch/reference/current/date.html

参考:

https://www.2cto.com/database/201806/752189.html

转载于:https://www.cnblogs.com/libin2015/p/9394995.html

Elasticsearch 日期时间处理相关推荐

  1. mysql 库比对_库比蒂诺日期时间选择器

    mysql 库比对 Easily pick a Date or a Time in your Flutter app 在Flutter应用中轻松选择日期或时间 I wrote a routine to ...

  2. 重学Java8新特性(四) : 日期时间API、LocalDateTime、DateTimeFormatter、开发中时间工具类(常用)

    文章目录 一.JDK8中日期时间API的介绍 1.1.LocalDate.LocalTime.LocalDateTime的使用 2.2.Instant类的使用 2.3.DateTimeFormatte ...

  3. ES日期时间格式化参数集锦

    目录 目标 ES版本信息 官方文档 相关术语 内置格式常用参数 epoch_millis(毫秒级时间戳格式) epoch_second(秒级时间戳格式) date_optional_time或者str ...

  4. MySQL 学习笔记(12)— 数据类型(定长字符、变长字符、字符串大对象、数字类型、日期时间类型、二进制类型)

    MySQL 常见的数据类型有字符串类型.数字类型.时间类型.二进制类型.具体的分类如下图: 1. 字符串类型 字符串类型用于存储字符和字符串数据,主要包含三种具体的类型:定长字符串.变长字符串以及字符 ...

  5. MySQL 学习笔记(3)— 字符串函数、数值函数、日期时间函数、流程函数、聚集函数以及分组数据

    1. 字符串函数 MySQL 的常用函数包括字符串函数.数值函数.日期时间函数.流程函数等. SELECT ascii("abc"),char(97),concat("h ...

  6. java时间转换为字符串格式错误_字符串转换为日期时间格式及其错误处理(转)

    1. 字符串转换成日期时间格式 //日期时间格式:yyyy-MM-dd hh:mm:ss String time ="1900-02-21 12:23:33"; //将字符串转换为 ...

  7. PHP 中日期时间函数 date() 用法总结

    [导读] date()是我们常用的一个日期时间函数,下面我来总结一下关于date()函数的各种形式的用法,有需要学习的朋友可参考.格式化日期date() 函数的第一个参数规定了如何格式化日期 时间.它 ...

  8. 语言 全排列 函数_Power Query 中日期时间格式转换需要了解的区域语言对照表

    不同的国家有不同的日期时间书写格式,比如: 多数亚洲国家:yyyy-MM-dd hh:mm 有些欧洲国家:dd.MM.yyyy HH:mm 极少数的国家:MM/dd/yyyy h:mm tt 还有各种 ...

  9. mysql 日期时间格式化字符串_MySQL日期函数与日期转换格式化函数大全

    Mysql作为一款开元的免费关系型数据库,用户基础非常庞大,本文列出了MYSQL常用日期函数与日期转换格式化函数 1.DAYOFWEEK(date) SELECT DAYOFWEEK('2016-01 ...

最新文章

  1. 有关GBDT(Gradient Boosting Decison Tree,梯度提升树)
  2. SELinux与强制访问控制系统应用
  3. 计算机408考研专题(建议收藏)
  4. 前端js文件合并三种方式
  5. 中国栓塞线圈市场趋势报告、技术动态创新及市场预测
  6. IIS5.1安装设置-Sql Sever2008安装设置-移动端设置等必读
  7. [前端]使用meta控制双核浏览器默认使用webkit/chrome内核
  8. 解决问题:vscode中文乱码(亲测有效)
  9. vue项目中常用解决跨域的方法
  10. 甲型流感H1N1流感症状预防和治疗
  11. 2008年的各国卫星导航系统比较(北斗、伽利略、GLONASS、GPS)
  12. 计算机毕业设计android的学生考勤请假app(源码+系统+mysql数据库+Lw文档)
  13. Redis篇 <一>Docker安装redis 及基础
  14. 安卓开发——android8.0应用崩溃,报错: Only fullscreen opaque activities can request orientation
  15. POSIX正则表达式
  16. vue----前端精选50道面试题---一个小白的孤芳自赏
  17. Python小工具:将对象转换为不可变类型并计算其哈希值
  18. 面试题:垃圾回收机制(GC)
  19. 快速找到python第三方库
  20. 大数据-爬虫框架学习--scrapy

热门文章

  1. html5期末考试题答案,HTML5期末考试题型
  2. java中的数组增删查改操作,java数组实现增删改查
  3. 简单使用linux感受,linux小白说说用linux的感受
  4. android toast 自定义时间,android自定义Toast设定显示时间
  5. RocketMQ_问题_启动报错,修改堆内存大小
  6. Element-UI中el-input输入值不显示
  7. org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException
  8. meta refresh 刷新
  9. oss上传判断_OSS
  10. JAVA容器_java集合容器之Stack