在 ElasticSearch 中以微秒格式保存日期

2023-12-24

我正在尝试使用 jdbc 输入插件和 Logstash 将一组事件从 MySQL 数据库保存到弹性搜索中。数据库中的事件记录包含微秒格式的日期字段。实际上,数据库中存在几微秒之间的记录。

导入数据时,Elasticsearch 会将微秒日期格式截断为毫秒格式。如何以微秒格式保存数据? Elasticsearch 文档称他们遵循 JODA 时间 API 来存储日期格式,该格式不支持微秒并通过添加Z在时间戳的末尾。

截断后的时间戳示例:2018-05-02T08:13:29.268Z

数据库中的原始时间戳:2018-05-02T08:13:29.268482


The Z不是截断的结果,而是 GMT 时区的结果。

ES 也支持微秒,前提是您在映射中指定了正确的日期格式。

如果映射中的日期字段指定如下:

    "date": {
      "type": "date",
      "format": "yyyy-MM-dd'T'HH:mm:ss.SSSSSS"
    }

然后,您可以像数据库中一样以精确的微秒精度对日期进行索引

UPDATE

这是一个完整的重新创建,向您展示它的工作原理:

PUT myindex
{
  "mappings": {
    "doc": {
      "properties": {
        "date": {
          "type": "date",
          "format": "yyyy-MM-dd'T'HH:mm:ss.SSSSSS"
        }
      }
    }
  }
}

PUT myindex/doc/1
{
  "date": "2018-05-02T08:13:29.268482"
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 ElasticSearch 中以微秒格式保存日期 的相关文章

随机推荐

  • 如何生成 Identity Server 签名证书

    在身份服务器示例中 我们发现这样的代码Startup cs var certFile env ApplicationBasePath idsrv3test pfx var signingCertificate new X509Certifi
  • C++ 二进制文件和迭代器:使用 ifstreambuf_iterator 摆脱 1:1 的束缚?

    这个答案 https stackoverflow com a 13665583 2485710指出 C 不太适合对二进制文件进行迭代这一事实 但这正是我现在所需要的 简而言之 我需要以 二进制 方式操作文件 是的 所有文件都是二进制的 即使
  • 对 SVG 组进行动画处理

    我目前有以下 SVG
  • 使用 Lua 注册闭包

    我不想使用 lua CFunction 签名来编写从 Lua 调用的方法 而是使用我自己的函数签名来简化导出过程 void foo call t call int a char b char c table t d reading argu
  • Angular Reactive 表单嵌套 FormGroup 中的空值

    我有一个带有嵌套表单组的角反应表单 this form new FormGroup name new FormControl address new FormGroup line1 new FormControl line2 new For
  • Modernizr 可以异步加载脚本但按顺序执行它们吗?

    我正在尝试 Modernizer load 我有这个 Modernizr load load js jquery 1 6 1 js js jquery tools min js js myscript js 如果我理解正确的话 我可以使用这
  • 使用 OWIN 的混合模式身份验证

    我正在构建一个 MVC 5 应用程序 我需要根据 AD 和 SQL 数据库或 Web 服务对人员进行身份验证 要求是 如果一个人登录到公司网络或通过 VPN 连接 我必须登录他们而不要求提供凭据 如果用户通过互联网访问网站或没有 AD 帐户
  • 打印所需数量的倒​​星图案[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 倒星图案由给定行数的星号组成 其中下一行少一个星号 直到最后一行剩下一个星号 每五个星号替换为 see image https i stac
  • Android AOSP 汽车模拟器

    我正在尝试构建一个汽车模拟器 因为 Android studio 3 5 未检测到系统映像 我已经在Android 8和9中尝试过并下载了所有工具 如何在AOSP中构建汽车模拟器 您需要 Mac 或 Linux 来构建模拟器 执行以下站点中
  • 使用不同格式选项实现 __str__ 方法的 Pythonic 方法是什么?

    我想创建一个 str 根据用户选择创建各种格式的字符串的方法 我想出的最好的办法就是制作一个 str kwargs 方法 这似乎工作正常 但它不兼容str obj or print obj 换句话说我必须使用print obj str st
  • (HTML + JS) 桌面客户端框架

    我计划为 Windows 和 Mac 编写一个桌面客户端 它将由网络技术 HTML JS 提供支持 因此 它应在用户桌面上的 WebKit 引擎上运行 最近 我看到一个有趣的方法来解决这个问题 加速器 http www appcelerat
  • 是否有使用 java 实现状态机的标准模式?

    我可以考虑的一种方法是有一个类来监听事件并将不同的状态存储在变量中 是否有使用 java 实现状态机的标准模式 我之前读过的文章现在似乎已经被删除了 但是如果你谷歌足够多 你应该能够找到其他关于如何实现的资源有限状态机使用Javaenums
  • 观察 Angularjs 控制器中的对象

    var app angular module myApp app controller myCtrl function scope scope form name my name age 25 scope watch form functi
  • 将 QMultiSampleAntiAliasing 添加到 QForwardRenderer

    我正在尝试在 qt3d 中启用多重采样 Qt3DExtras Qt3DWindow 在初始化期间已经执行了以下操作 format setDepthBufferSize 24 format setSamples 4 format setSte
  • 带 JQuery Mobile 的粘性页脚

    我使用了粘性页脚教程 它起作用了 但我随后添加了 JQuery Mobile 它就不再起作用了 这是一个jfiddle 不起作用 取消单击 Jquery 移动扩展的使用 它就可以满足我的要求 如何获得使用 Jquery mobile 时所拥
  • 在 REST 框架中返回字典而不是数组

    我正在将一组现有 API 从 tastypie 转换为 REST 框架 默认情况下 在执行列表 API 时 tastypie 返回一个包含对象列表的字典和一个元数据字典 其中 REST 框架仅返回一个对象数组 例如 我有一个名为 Site
  • 将html实体存储在数据库中?或者检索时转换?

    简单问一下 打电话更好吗htmlentities or htmlspecialchars 在将数据插入数据库之前还是之后 Before 新的较长字符串将导致我必须更改数据库以在字段中保存更长的值 maxlength 800 可以更改为 80
  • 带图像的android网格视图(图像缩小并且看起来模糊)

    I have to show 7 icons on the home screen of my application To do this i have arranged the icons on the grid view using
  • Google Maps API 3 fitBounds 填充 - 确保标记不会被重叠控件遮挡

    我希望能够在调用后向地图视图添加填充map fitBounds https developers google com maps documentation javascript reference 因此无论地图控件或打开时会覆盖标记的滑动
  • 在 ElasticSearch 中以微秒格式保存日期

    我正在尝试使用 jdbc 输入插件和 Logstash 将一组事件从 MySQL 数据库保存到弹性搜索中 数据库中的事件记录包含微秒格式的日期字段 实际上 数据库中存在几微秒之间的记录 导入数据时 Elasticsearch 会将微秒日期格