Elasticsearch date 类型详解

elasticsearch Date数据类型和时区的常见问题及解决方案 由于es内部date类型默认时区为UTC且不可修改,在实际使用时可能会出现一些时区转换相关的问题。包含1:查看时发现es写入后的时间值比实际时间相差8小时;2:使用date histogram做聚合查询涉及时区问题;3:使用now函数进行时间范围过滤出现错误 阅读详情

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

这么简单的ES索引生命周期管理,不了解一下吗~ 对于日志或指标(metric)类时序性强的ES索引,因为数据量大,并且写入和查询大多都是近期时间内的数据。我们可以采用hot-warm-cold架构将索引数据切分成hot/warm/cold的索引。hot索引负责最新数据的读写,可使用内存存储;warm索引负责较旧数据的读取,可使用内存或SSD存储;cold索引很少被读取,可使用大容量磁盘存储。随着时间的推移,数据不断从hot索引->war... 阅读详情

相关推荐

ES 中时间日期类型 “yyyy-MM-dd HHmmss” 的完全避坑指南

假如我们有如下索引tax,保存了一些公司的纳税或资产信息,单位为“万元”。当然这里面的数据是随意填写的。多少为数据统计的时间,当前这个例子里。索引达的含义并不重要。关键点在于字段的内容格式。我们看到date字段其中包含了多种日期的格式“yyyy-MM-dd”,“yyyy-MM-dd”还有时间戳。如果按照dynamicmapping,采取自动映射器来映射索引。我们自然而然的都会感觉字段应该是一个date类型。{"index"{}}{"date"01"中国烟草","ratal"5700000}...

m0_67402588的博客 589

elasticsearch 之时间类型

date 类型的查询在内部转为 long 处理,聚合返回的结果再根据字段定义的格式转为字符串输出。实际上不管日期以何种格式写入,在 ES 内部都会先换成 UTC 时间并存储为 long 类型。日期将始终呈现为字符串,即使它们最初是在 JSON 文档中作为 long 串提供的。比如: 1515150699465, 1515150699;注:sort 返回为数组,值均为毫秒时间戳。...

web15085599741的博客 1343

FastAPI + Tortoise-ORM + Elasticsearch 实战:职位数据全量同步到 ES 的设计

本文只讲两件事的设计意识:其一,职位领域模型与写入接口怎么落地;其二,如何把 MySQL 里的职位数据批量、可靠地同步进 ES。

haokeizheng的博客 602

Elasticsearch 时间类型总结

Elasticsearch 可以写入、查询不同的时间类型,但当遇到 Unix 时间戳和其他时间格式的时候会有点混乱,因此本文主要是总结一下各种时间类型和其他的表示方式。 1 日期类型 JSON没有日期类型,因此在 Elasticsearch 中可以表达成: 日期格式化的字符串,比如: "2015-01-01" 或者 "2015/01/01 12:10:30"; 毫秒级别的long类型...

u010325193的博客 6018

实时搜索引擎Elasticsearch(4)——Aggregations (聚合)API的使用

本篇将介绍ES提供的聚合API的使用。ES提供的聚合功能可以用来进行简单的数据分析。本文仍然以上一篇提供的数据为例来讲解。

HinyLover的专栏 5万+

Elasticsearch 聚合分析:大数据统计与可视化的利器

在电商行业,我们需要统计“每月各品类销售额TOP3”;在日志分析中,要找出“过去1小时404错误最多的URL”;在用户行为分析里,想知道“不同地区用户的平均停留时长”……这些需求的核心是对海量数据进行分组、统计、计算。Elasticsearch 作为最流行的搜索引擎和分布式数据存储,其内置的聚合分析功能(Aggregation)能高效处理这类需求,甚至支持实时统计亿级数据。本文将覆盖聚合分析的核心概念、操作语法、实战案例及可视化方法。本文从“超市理货”的生活案例切入,解释聚合分析的两大核心概念(桶和指标)

小白菜的博客 406

Elasticsearch时间类型实战

本文全面解析Elasticsearch时间类型使用中的常见问题与解决方案。首先明确ES仅支持date类型存储时间数据,其底层采用UTC毫秒时间戳存储,并介绍两种标准时间格式(通用兼容格式和自定义本地格式)。随后提供两套Mapping配置方案:自定义本地时间格式(适配MySQL同步)和UTC标准格式(适用于分布式场景)。针对Java开发,详细说明实体类适配不同时间格式的配置方法,包括LocalDateTime和Instant的使用。最后重点解决全网高频的LocalDateTime反序列化报错问题,提供依赖引入

hdk5855的博客 688

JavaScript深拷贝实现:ES6+完美方案与核心原理详解

在JavaScript开发中,数据拷贝是处理对象与数组时的基础操作,其核心在于理解内存中基本类型与引用类型的存储差异。浅拷贝仅复制引用地址,导致数据共享和意外修改;深拷贝则通过递归遍历,在堆内存中创建完全独立的数据副本,从而确保数据操作的隔离性与安全性。这一机制对于状态管理、配置对象处理等场景具有重要技术价值,能有效避免因共享引用引发的程序错误。本文聚焦于实现一个健壮的ES6+深拷贝函数,重点解决了循环引用、Map/Set等内置类型以及Symbol属性的处理,并利用WeakMap进行优化,为复杂数据结构的可

weixin_34034670的博客 492

Elasticsearch从下载到实战:职位搜索索引优化指南

本文介绍了Elasticsearch(ES)的下载、配置与使用流程。首先需从官网或Docker下载ES,注意版本需与IK分词器严格一致。配置部分展示了Python异步客户端AsyncElasticsearch的初始化方法。核心功能包括:1)创建优化版职位索引,定义字段类型(text/ik_max_word用于中文分词,keyword用于精确匹配);2)数据同步接口实现批量写入,通过内存关联解决N+1问题,使用job.id作为文档ID确保幂等性。特别强调ES服务需与IK分词器同时启动且版本匹配,日期/枚举字段

乐乐是敲代码的 424

elasticsearch基本查询二(英文分词)term和terms查询

term和terms查询(查找zhaoliu这个人的信息) term query会去倒排索弓|中寻找确切的term,它并不知道分词器的存在。这种查询适合keyword、numeric. date. term:查询某个字段里含有某个关键词的文档 GET /lib3/user/_search/ { "query":{ "term": {interests": "changge"}}} terms:查询...

ywl470812087的博客 12万+

【大模型应用开发-ES】(五)ElasticSearch索引创建与管理

摘要 本文介绍了ElasticSearch索引的基础操作,包括: 索引创建(带Mapping):使用PUT请求定义字段类型和设置分片参数 索引信息查看:通过GET请求获取详细配置 索引列表查看:使用_cat API显示所有索引状态 别名管理:为索引添加别名实现逻辑引用 索引删除:使用DELETE命令删除索引(不可逆操作) 文中提供了完整的curl命令示例、参数说明和预期输出结果。特别强调了单节点环境下副本分片必须设为0,以及text/keyword字段类型的区别。这些操作为后续ES数据管理奠定了基础。

866

doc es 中type_ES系列10:Term-level queries 之 Range query

完整版【系统学ES系列】,请移步公众号。带着问题学习才高效对date字段进行范围检索时,你还在使用代码计算时间范围?不知道 Date Math 如何使用?Date Math 的四舍五入没弄明白?检索范围总是违背预期对区间类型字段的检索,不明白两个范围值的数学关系?Term-level queries系列脑图ps:上图的xmind文件获取方式见文末!本文结构导航在学习本文之前,请先参考【ES系列09...

weixin_29205373的博客 179

内网渗透—横向移动&IPC横移&Impacket套件&CS插件

以上便是IPC横移的知识。最后,以上仅为个人的拙见,如何有不对的地方,欢迎各位师傅指正与补充,有兴趣的师傅可以一起交流学习。

2301_76227305的博客 1890

Elasticsearch核心指南:全数据类型详解+最优选型策略

在 Elasticsearch 中,数据类型(Mapping Type)是索引设计的灵魂,直接决定了查询性能、存储效率、功能支持、数据准确性。很多新手因不了解 ES 数据类型、随意选择类型,导致线上出现查询失败、聚合报错、数据溢出、性能暴跌等问题。本文将系统梳理 ES 全部核心数据类型,通过流程图、对比表、实战场景,手把手教你如何为业务选择最合适、最高效的数据类型,彻底解决 ES 字段类型选型难题。字符串:搜素用text,精确匹配用keyword,都要就用多字段;数字。

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 2174

Fluent实战——残差震荡分析与收敛优化策略

本文深入探讨了Fluent仿真中残差震荡的成因与优化策略。残差震荡是流场物理或数值问题的关键信号,文章系统分析了网格质量、边界条件、物理模型非定常性及求解设置四大主因,并提供了库朗数与松弛因子的调参心法,以及针对超音速流、共轭传热等典型场景的实战优化方案,旨在帮助用户有效提升计算收敛性与结果可靠性。

w1x2y3的博客 313

保姆级CVE-2018-17066漏洞复现 DLink命令注入漏洞(更新完结)

之后按照之前复现的方式一样 我们丢到kali中执行binwalk解析。之后为了模拟 可以在kali里安装qemu-mipsel。在bin目录下可以尝试将goahead的环境搭配好。固件官网可以进行下载。

weixin_51339377的博客 882

Elasticsearch 索引API:索引新增字段操作完整实战

在实际业务开发中,索引结构往往需要随着需求迭代而扩展,给已有索引新增字段是 Elasticsearch 最常用、最安全的索引维护操作。Elasticsearch 提供专门的索引 API 支持在线、无停机、无痛新增字段,无需删除数据、无需重建索引,是生产环境必备技能。本文将详细讲解如何使用索引 API 对已有索引进行新增字段操作,包含核心原理、执行流程图、标准步骤、多种字段类型示例、注意事项、常见问题,格式规范、可直接发布 优快云。索引新增字段:在已存在、已有数据。

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 2159

SAP SD跨公司销售IDOC自动记账配置实战指南

本文详细介绍了SAP SD模块中跨公司销售IDOC自动记账的配置实战指南。通过IDOC技术实现集团企业间交易的自动化处理,显著提升财务效率和准确性。文章涵盖前置配置、RFC连接、合作伙伴参数设置及财务科目分配等关键步骤,并提供了常见错误排查和性能优化建议,帮助用户快速掌握这一高效业务流程。

weixin_29284885的博客 771

Elasticsearch 篇之数据建模

Elasticsearch 篇之数据建模 数据建模简介 英文为Data Modeling,为创建数据模型的过程 数据模型Data Model 对现实世界进行抽象描述的一种工具方法 通过抽象的实体及实体之间联系的形式去描述业务规则,从而实现对现实世界的映射 数据建模的过程 概念模型 确定系统的核心需求和范围边界,设计实体和实体之间的关系 逻辑模型 进一步梳理业务需求,确定每个实体...

我都不会的博客 707

保姆级教程:用MATLAB复现格拉斯哥大学FMCW雷达数据集多普勒谱(附完整代码与避坑指南)

本文提供了一份详细的MATLAB教程,指导如何复现格拉斯哥大学FMCW雷达数据集的多普勒谱分析。从环境准备、数据获取到距离压缩、MTI滤波、时频分析(STFT)以及结果后处理,涵盖了完整流程,并附有优化代码和避坑指南,特别适合雷达信号处理研究者和工程师。

weixin_28720767的博客 116

VTK 9.2.0 在 Windows 10 上编译全记录:从 CMake 配置到 VS2019 项目生成(附 Qt 环境变量避坑点)

本文详细记录了VTK 9.2.0在Windows 10上的编译全过程,从CMake配置到VS2019项目生成,特别强调了Qt环境变量的避坑点。通过实战步骤和调试技巧,帮助开发者顺利完成VTK编译,适用于三维可视化开发。

weixin_30082367的博客 365

elasticsearch学习笔记(二十五)——Elasticsearch mapping详解以及索引内部原理

Elasticsearch中的mapping是定义索引中字段类型和属性的元数据,分为自动生成和手动创建两种方式。mapping决定了字段的数据类型(如text、date、long等)以及搜索行为,包括精确匹配(exact value)和全文搜索(full text)。精确匹配要求完全一致,而全文搜索会进行分词、同义词转换等处理。mapping还支持复杂类型如数组和对象,并可通过dynamic mapping自动推断字段类型。需要注意的是,mapping一旦创建,只能新增字段而无法直接修改已有字段的类型。

121

2026年数字IC设计禾赛科技笔试带答案解析

本文介绍了一份数字IC设计工程师笔试的试卷结构和部分题目解析。试卷包含15道单选题(30分)、10道填空题(20分)和5道简答/编程题(50分),总分100分,考试时长120分钟。单选题涉及同步时序电路、Verilog语法、跨时钟域设计、FPGA优化、存储器层次、功耗优化等知识点;填空题考查环形振荡器、工艺参数、时序约束、LUT结构等基础概念。试题重点考察应聘者对数字电路设计核心概念的理解和实际工程应用能力,特别是针对激光雷达芯片设计中的关键技术点进行考核。

Open 123
上一篇: 实时指标计算发展脉络
pez1420
博客等级 码龄14年 7粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值