[ES]ElasticSearch强转日期的时区问题

这篇具有很好参考价值的文章主要介绍了[ES]ElasticSearch强转日期的时区问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题

        由于ES不能修改时区,且默认时区始终为UTC。

        当才查询数据时,通过强转获得的日期并不是想要的,通过分析发现,正是由于默认时区导致结果相差了8个小时。

        查询语句:

POST http://localhost:9200/_sql?format=text

{
  "query": "SELECT 1701387000000::date as dt, DATETIME_FORMAT(1701387000000::TIMESTAMP,'yyyy-MM-dd')::DATE as df",
  "time_zone":"Asia/Shanghai"
}

        返回结果:

                    dt                     |                    df           
------------------------------------+------------------------------------
2023-11-30T00:00:00.000Z|2023-12-01T00:00:00.000Z

       可以看出,通过时间戳强转获得的日期,由于跨天,导致数据相差一天,更加严重的是,如果将数据归类到月份统计中,势必出现问题,所以强转方式,即便指定了时区,却不能生效

结论

       所以在处理时间日期时,特别注意时区问题,需通过时间日期函数+指定时区参数方式来达到期望的目标。文章来源地址https://www.toymoban.com/news/detail-759533.html

到了这里,关于[ES]ElasticSearch强转日期的时区问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ES(elasticsearch)中遇到elasticsearch.keystore的问题,已解决!!!

    提示:Linux中部署elasticsearch7.8.0 在处于非root权限下,启动elasticsearch,遇到了elasticsearch.keystore的问题 提示:在启动之前,已经给elasticsearch文件夹全部授权为非root权限可以访问,但是elasticsearch.keystore给文件是在启动之后生成的,默认启动权限为root所以无法继续访问下去。 提

    2024年02月06日
    浏览(42)
  • 【ElasticSearch】关于es跨域的问题

    本文目录 一、使用es的head插件 二、其他说明 在使用es的head插件时,默认的9100,需要访问es的默认端口9200时,会出现跨域问题,此时只需要修改一下es的配置文件即可。 在 elasticsearch.yml 中添加开启跨域的配置: 说明: http.cors.enabled 是否开启跨域 http.cors.allow-origin 允许谁访问

    2024年02月11日
    浏览(42)
  • elasticsearch-head 连接ES出现401问题解决

    写在前面:ES 和elasticsearch-head 安装在同一台机器,ES启用了X-pack,但是在elasticsearch-head 连接时提示401无权限访问,查了好久,找到了解决方案。 问题: 解决方法: 修改ES配置文件,elasticsearch.yml,添加如下一行内容: 然后重启Es服务,即可正常连接访问。

    2024年02月16日
    浏览(42)
  • [Elasticsearch] ES更新问题踩坑记录,直面秋招

    基本可以定位是在es更新这块出问题了 看对应代码 final TableDocBean docBean = baseSearchService.getById(id); setValueForBean(afterColumns, docBean); log.info(“update table data to es: {}”, JSON.toJSONString(docBean)); baseSearchService.update(docBean); 代码先通过表id 获取对应ES文档,然后赋值 执行更新数据操作 这块

    2024年03月25日
    浏览(51)
  • elasticsearch自动填充时间,并转换为上海时区

    由于ES默认时区为UTC,比我上海时区慢八个小时且是TZ格式,当我们需要自动填充为yyyyy-MM-dd HH:mm:ss格式时我们就需要对其进行处理。 1、定义预处理管道:chage_utc_to_asiash(管道名可更改) 2、创建索引,指定管道 3、写入数据 4.查看结果  

    2024年02月11日
    浏览(46)
  • ElasticSearch|ES 连接超时及创建连接失败问题定位过程记录

    socket.timeout:等待源端服务器响应超时 ConnectionRefusedError:尝试创建连接被拒绝 ES 集群中某个节点的 ES 主进程被杀(由于服务器内存不足导致),导致该节点 ES 重新拉起,报 “尝试创建连接被拒绝”; ES 集群中某个节点的服务器内存不足,导致该节点 ES 的 cache 被清空,E

    2024年02月04日
    浏览(53)
  • ES常见问题(2)-ElasticSearch怎么样设置账号密码

    有时候我们也需要给ES设置账号密码,避免别人使用自己的ES操作,以保证自己的ES的数据安全 ES版本 我用的是Elasticsearch 示例版本:7. 8.0 ES自带的X-Pack密码验证 在ES版本7.0之后,默认的情况下,安装了ES,都会默认下载了 X-Pack , 不再需要自己独自下载, X-Pack是elasticsearch的一

    2023年04月17日
    浏览(46)
  • ES常见问题(1)-解决ElasticSearch每次只能返回10条数据

    使用ElasticSearch查询分页数据 有时候,我们需要使用ElasticSearch来分词查询,并分页返回指定的数据条数,但是当我们每次想得到分页数据条数超过十条的时候,ElasticSearch总是只能返回十条 因为ElasticSearch为了查询的速度,在默认的情况下已经设置了分页数据只能返回10条,所

    2024年02月11日
    浏览(43)
  • ES内存问题 Elasticsearch exception type=circuit_breaking_exception,

    Elasticsearch exception [type=circuit_breaking_exception, reason=[parent] Data too large, data for [http_request] would be [986856200/941.1mb], which is larger than the limit of [986061209/940.3mb], real usage: [986855776/941.1mb], new bytes reserved: [424/424b], usages [request=0/0b, fielddata=2884/2.8kb, in_flight_requests=424/424b, model_inference=0/0b, a

    2023年04月08日
    浏览(52)
  • 启动ElasticSearch报错:error updating geoip database

    启动ElasticSearch报错: error updating geoip database 这是一个bug 在elasticsearch.yml中添加如下配置: 关闭geoip数据库的更新

    2024年02月15日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包