当前位置:   article > 正文

Elasticsearch date 类型详解_elasticsearch 日期 自动映射为 long

elasticsearch 日期 自动映射为 long

elasticsearch 数据是以 JSON 格式存储的,而 JSON中是并没有 date 数据类型,因此 Elasticsearch 中虽然有 date 类型,但在展示时却要转化成另外的格式。

date 类型在 Elasticsearch 展示的格式有下面几种:

  • 将日期时间格式化后的字符串,如 "2015-01-01" 或者 "2015/01/01 12:10:30"
  • long 型的整数,意义是 milliseconds-since-the-epoch,翻译一下就是自 1970-01-01 00:00:00 UTC 以来经过的毫秒数。
  • int 型的整数,意义是 seconds-since-the-epoch, 是指自 1970-01-01 00:00:00 UTC 以来经过的秒数。

后两种的描述里都包含 UTC ,什么是 UTC 呢?

UTC(Universal Time Coordinated) 叫做世界统一时间,中国大陆和 UTC 的时差是 + 8 ,也就是 UTC+8。

不论 date 是什么展示格式,在 Elasticsearch 内部存储时都是转换成 UTC,并且把时区也会计算进去,从而得到 milliseconds-since-the-epoch 并作为存储的格式。

在查询日期时,会执行下面的过程:

  1. 转换成 long 整形格式的范围(range) 查询
  2. 得到聚合的结果
  3. 将结果中的 date 类型(long 整型数据)根据 date format 字段转换回对应的展示格式

 

参考:

https://www.elastic.co/guide/en/elasticsearch/reference/6.3/date.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/565884
推荐阅读
相关标签
  

闽ICP备14008679号