Elasticsearch 中默认的日期格式

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

在 Elasticsearch 中,当你将字段类型定义为 date 类型时,你可以将日期存储为一种可解析的格式,然后 Elasticsearch 可以将其转换为以毫秒为单位的长整型数字进行内部存储。默认的日期格式是 “strict_date_optional_time||epoch_millis”。

这种格式包含了以下两种日期格式:

  1. strict_date_optional_time: 这种日期格式包含了日期和可选的时间。如果没有提供时间,则会默认为午夜。这种日期格式通常看起来像 2023-07-11T20:30:00Z 或者 2023-07-11。这个格式严格遵循ISO 8601日期和时间的格式,这意味着必须包含年份,月份,和日期,还可以包含时间,时区等信息。

  2. epoch_millis: 这是自 1970-01-01T00:00:00Z 以来的毫秒数,是一种常见的 Unix 时间戳表示法。

所以,当你将日期作为字符串发送到 Elasticsearch 时,它会试图解析这个字符串以匹配这两种格式中的一种。然后,这个日期会被转换成相应的长整型数字并存储。

然而,值得注意的是,当你从 Elasticsearch 检索这个日期字段时,它将会按照默认的日期格式返回,除非你在请求中指定了不同的日期格式。

Elasticsearch 的 date 类型默认的日期格式是 “strict_date_optional_time||epoch_millis”,这种格式不包括如 “20230711” 这样的日期格式。如果你想用这种格式存储日期,你需要在创建索引时指定自定义的日期格式。

例如,你可以在映射中使用 “yyyyMMdd” 这样的日期格式:

{
  "mappings": {
    "properties": {
      "SETTLE_DATE_LOC": {
        "type": "date",
        "format": "yyyyMMdd"
      }
    }
  }
}

在这种情况下,“20230711” 这样的日期格式就可以被正确地存储和解析。

注意,上述映射定义了一种新的日期格式,这种格式只包括年月日,不包括时间或时区信息,日期格式是 “yyyyMMdd”。使用这种日期格式,你就可以将日期表示为 “20230711” 这样的形式。


从 SQL 的角度来看,DATE_FORMAT(a.SETTLE_DATE_LOC, '%Y-%m-%d') as SETTLE_DATE_LOC 这个语句是正确的。这会将 a.SETTLE_DATE_LOC 字段的值转换为 ‘YYYY-MM-DD’ 格式的日期字符串。

然后,如果你想将这个日期字符串保存到 Elasticsearch 中,你需要确保 Elasticsearch 中 SETTLE_DATE_LOC 字段的映射类型是 date,并且能够解析 ‘YYYY-MM-DD’ 这种格式的日期。

幸运的是,这种日期格式是 Elasticsearch 默认的日期格式之一,因此你不需要指定任何自定义格式。只需要在 Elasticsearch 中将 SETTLE_DATE_LOC 字段的类型设置为 date,然后你就可以将 ‘YYYY-MM-DD’ 格式的日期字符串保存到这个字段中了。文章来源地址https://www.toymoban.com/news/detail-544970.html

到了这里,关于Elasticsearch 中默认的日期格式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Arkime 修改默认安装的 Elasticsearch 的端口

    将默认的es端口更改,并将arkime中配置的es端口更改 1.1 修改vim /etc/elasticsearch/elasticsearch.yml 1.2 启动/重启es 1.3 访问 http://127.0.0.1:9201/ 1.4 查看es状态 http://localhost:9201/_cluster/health 1.5 初始化es 1.6 修改arkime的配置 配置文件可用改很多东西,官方文档说明:https://arkime.com/settings 1.7

    2024年02月11日
    浏览(33)
  • Elasticsearch使用篇 - 直方图聚合、日期直方图聚合、自动日期直方图聚合

    [ˈhɪstəˌɡræm] ,直方图聚合。属于分桶聚合。 基于数值类型的字段或者数值范围类型的字段进行聚合。按照固定间隔动态构建分桶。 field:用于聚合的字段。 interval:指定每个桶之间的间隔。该值必须是一个大于 0 的双精度浮点数。 keyed:默认 false,则使用数组格式返回数

    2024年01月20日
    浏览(38)
  • ES Elasticsearch日期范围查询和查不出的坑

    如果字段为字符串类型,需要在字段后面加 .keyword 不加会出现查不出的问题。 查询全部,有大于2022-01-01的数据 按日期范围查询却没有查出来 字段后面加“.keyword”即可,分词问题

    2024年02月11日
    浏览(33)
  • Elasticsearch:自动使用服务器时间设置日期字段并更新时区

    在大多数情况下,你的数据包含一个以 create_date 命名的字段。 即使没有日期字段,处理各种格式和时区的日期对数据仓库来说也是一个重大挑战。 与此类似,如果要检测变化的数据,则必须准确设置日期字段。 在 Elasticsearch 中还有一个选项可以自动将服务器的日期设置为字

    2024年02月08日
    浏览(40)
  • ElasticSearch篇——Restful风格详解以及常见的命令,涵盖_cat命令查看ES默认数据、索引和文档的增删改查以及复杂搜索,超详细、超全面、超细节!

    一种软件架构风格,而不是标准,只是提供了一组设计原则和约束条件。它主要是用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更加简洁,更有层次,更易于实现缓存等机制。 一、基本Rest命令说明 1、命令 对应的就是head可视化界面的下面的信息(换句话

    2024年01月16日
    浏览(32)
  • Elasticsearch自定义时间格式

    DateFormat.custom:自定义属性格式; pattern:时间格式 epoch_millis:时间戳   

    2024年02月15日
    浏览(25)
  • 【Elasticsearch教程11】Mapping字段类型之日期时间date date_nanos

    JSON没有 date 类型,但我们可以把以下类型作为日期时间存入ES。 类型 说明 字符串 日期格式的字符串,如\\\"2015-01-01\\\"或\\\"2015/01/01 12:10:30\\\" 长整型 从开始纪元(1970-01-01 00:00:00 UTC)开始的 毫秒数 整型 从开始纪元(1970-01-01 00:00:00 UTC)开始的 秒数 上面的UTC(Universal Time Coordinated) 叫

    2024年01月24日
    浏览(41)
  • Elasticsearch:我们如何演化处理二进制文档格式

    作者:来自 Elastic Sean Story 从二进制文件中提取内容是一个常见的用例。一些 PDF 文件可能非常庞大 — 考虑到几 GB 甚至更多。Elastic 在处理此类文档方面已经取得了长足的进步,今天,我们很高兴地介绍我们的新工具 —— 数据提取服务: 发布于 8.9 版本, 截至目前,没有报

    2024年04月10日
    浏览(35)
  • docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依)

    目录 安装docker+jenkins+docker-compose+ruoyi+mysql 安装yum命令 下载docker-ce 启动docker 安装docker-compose 查询docker和docker-compose兼容性 查询docker-compose版本 下载docker-compose 使用sudo管理员权限执行命令  docker-compose --version  查询是否成功    docker-compose部署若依项目 打包 部署出现过得问题

    2024年02月05日
    浏览(29)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包