当前位置: 首页 > news >正文

Elastic search的日期问题

Elastic search的日期问题

使用过elastic search的程序员们大概都会遇到一个比较蛋疼的问题:
日期存放在elastic search,究竟是格式化为字符串存储比较好,还是直接使用es的默认日期类型比较好,还是转化为unix时间戳比较好呢?

无论我们以何种日期存放,elastic search的底层存放的还是时间戳,时间戳存储起来还是比较方便的。

对于我们的直观感受和搜索而言呢,时间戳对于搜索倒是便利些,但是不够直观,只是一个数字而已。es的默认日期是采用的零时区,比我们少八个小时,无论是对于搜索还是直观感受,都有些不便。日期格式化为字符串后存储,比较直观,但是搜索起来就坑爹了,如果不觉得麻烦的人还望指教。

下面说说java语言的解决办法:
java语言开发者最熟悉的时间工具类莫过于java.util.Date,可以取得当前时间,很直观,但是如果直接存储进入es,由于es的日期采用的是零时区存储,所以就要比我们少8个小时。我想了一些办法,比如加上时区,但是进入到es后还是少8个小时。

进入职场后,基本就一直在使用jdk 1.8,因此想想java 8有没有什么更好的解决方案呢?

java.time工具包的出现很好地替换掉java.util包下难用的时间工具类。java.time.LocalDateTime,该类带有系统时区,不用费尽心机在Date上设置时区了。直接使用LocalDateTime.now()得到当前时区的时间,存储进入es后也不会再出现丢失8小时的情况,对于搜索、直观感受而言,都算是一个比较好的方案吧。

欢迎有更好解决方案的大牛前来拍砖!

相关文章:

  • DOM基础应用
  • 足疗APP
  • 一张图进阶 RocketMQ - 消息存储
  • kafka生产者如何提高吞吐量
  • 基于神经网络的智能系统,神经元网络控制的作用
  • npm——整理前端包管理工具(cnpm、yarn、pnpm)
  • 基于Vue+Element UI+Node+MongoDB的医院门诊预约挂号系统
  • Linux系统中使用vim编写C语言代码实现过程
  • Spire.Cloud 私有化部署教程(三) - Windows 系统
  • c++面试题总结
  • qlib因子分析之alphalens源码解读
  • springboot企业人力资源管理系统毕业设计源码291816
  • cadence SPB17.4 - allegro - 手工放置过孔
  • ElasticSearch (ES)学习之路(六)Springboot2.3.1整合ES 7.6.1
  • 人类历史上第一个人工神经元模型为mp模型有何不提出
  • [译]CSS 居中(Center)方法大合集
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 【个人向】《HTTP图解》阅后小结
  • Angular Elements 及其运作原理
  • co模块的前端实现
  • Docker 笔记(2):Dockerfile
  • ES6 学习笔记(一)let,const和解构赋值
  • Fastjson的基本使用方法大全
  • javascript从右向左截取指定位数字符的3种方法
  • js算法-归并排序(merge_sort)
  • maven工程打包jar以及java jar命令的classpath使用
  • MQ框架的比较
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • Transformer-XL: Unleashing the Potential of Attention Models
  • Vue.js 移动端适配之 vw 解决方案
  • 彻底搞懂浏览器Event-loop
  • 前端路由实现-history
  • 如何胜任知名企业的商业数据分析师?
  • 小程序开发中的那些坑
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • #{}和${}的区别是什么 -- java面试
  • #QT(一种朴素的计算器实现方法)
  • #Ubuntu(修改root信息)
  • #宝哥教你#查看jquery绑定的事件函数
  • (11)MATLAB PCA+SVM 人脸识别
  • (二)PySpark3:SparkSQL编程
  • (二)WCF的Binding模型
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (十)T检验-第一部分
  • (一)基于IDEA的JAVA基础10
  • (一一四)第九章编程练习
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • ***测试-HTTP方法
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .gitignore文件_Git:.gitignore
  • .net core 依赖注入的基本用发
  • .NET 使用 XPath 来读写 XML 文件
  • .net6 webapi log4net完整配置使用流程
  • .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验