当前位置: 首页 > 知识库问答 >
问题:

Elasticsearch解析不同格式的日期字段

程皓轩
2023-03-14

我在ES7.8中创建了一个日期格式为“YYYY-MM-DD”的索引。

"mappings": {
    "_doc": {
      "properties": {
        "BaseLine": {
          "type": "date",
          "format": "yyyy-MM-dd"
        },

然而,当我点击地图上的“基线”字段时,在Filter上传递的实际值是yyyy-mm-dd00:00:00.000z。

有没有人可以建议一下,我怎样才能在过滤器中得到正确的日期格式“YYYY-MM-DD”?

多谢了。

下面是请求中的示例文档

“命中”:[{“_index”:“program_b”,“_type”:“_doc”,“_id”:“2137SD19.1”,“_score”:0.0,“_source”:{“siteid”:2137,“baseline”:“2020-04-26”,“uk”:“2137SD19.1”}},

共有1个答案

钮安歌
2023-03-14

“format”:“yyyy-mm-dd”在映射中的作用只是告诉ES您的日期值将以哪种格式出现在源文档中。

正如您所看到的,源文档包含“baseline”:“2020-04-26”,它与您指示ES期望的格式完全相同。当您索引文档时,ES将正确解析baseline日期字段,并索引一个代表该时间点的长值。

您在工具提示(即2020年4月26日)中看到的值就是Kibana如何格式化您的日期,如果需要,您可以在“堆栈管理>高级设置”中更改。

最后,您在筛选器中看到的筛选器值(即2020-04-26t00:00:00.000z)是baseline字段的ISO8601表示形式,以及ES在查询筛选器中使用的内容。

据我所知,一切看起来都是完全正确的。

 类似资料:
  • 我想以yyyy-mm-dd格式存储今天的日期。在存储之前,我将今天的日期格式化,并再次解析格式化后的字符串。它以不同于我想要的格式给出了输出日期。我如何获得日期,将其格式化为' yyyy-mm-dd '并再次将其转换为日期,并希望输出格式为' yyyy-mm-dd '。请找到下面的代码,告诉我哪里错了 我得到的上述代码的输出是星期四 Mar 07 00:00:00 GMT 2013.但我希望输出为

  • 问题内容: 我想转换成不同的格式。 例如, 我从用户那里得到 我想将其转换为格式的Date对象 我怎样才能做到这一点? 问题答案: 看一看。该代码是这样的:

  • 我有两个字符串格式的日期:说,格式为。比较日期1和日期2的相等性的最佳方法是什么?我不关心时间,只关心日、年、月。我应该将它们转换为即时并进行比较吗?

  • 在使用date格式自动设置为IE后,我试图解析某个包含日期条目为纪元数值的json文档。我需要不同的格式(也需要一毫秒) 所以问题是,如何解析IE。转换为带有Bson文档的某种自定义格式字符串。解析方法? 编辑:只是一个更新:问题在document.parse方法中,因为我不知道如何在解析json文档时使用tell.parse函数来使用自定义的日期格式。我总是得到某种默认的日期格式。如何发送给.p

  • 问题内容: 我正在学习Go,并且正在尝试对日期时间进行JSON解组。 我有一个用C语言编写的程序生成的JSON,我正在输出我认为有效的ISO8601 / RFC3339时区偏移量。我正在使用以下格式字符串: (请注意,本机不支持,我有一个包装器将其替换为纳秒级)。 然后,将产生以下结果: 但是在Go中取消编组此功能将无效:https : //play.golang.org/p/vzOXbzAwdW

  • 我正在尝试将DatePicker日期格式化为简单的数据格式(“yyyy-MM-dd HH: mm: ss Z”)。有人告诉我,我需要使用简单的数据格式将其解析为日期对象-简单的数据格式(“yyyy-MM-dd”),然后将其格式化为我需要的内容,如下所示。但是,我在尝试捕捉块中收到错误“重复局部变量eDate”。任何专家都可以查看我的代码并提出建议吗? 已更新