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

标签 elasticsearch kibana

我在ES7.8中以日期格式“yyyy-MM-dd”创建索引

"mappings": {
    "_doc": {
      "properties": {
        "BaseLine": {
          "type": "date",
          "format": "yyyy-MM-dd"
        },
但是,当我单击 map 上的“基线”字段时,在Filter上传递的实际值为yyyy-MM-dd00:00:00.000Z。
谁能建议我如何在过滤器中获取正确的日期格式“yyyy-MM-dd”?
谢谢。
enter image description here
这是来自请求的样本文档

"hits" : [ { "_index" : "program_b", "_type" : "_doc", "_id" : "2137SD19.1", "_score" : 0.0, "_source" : { "SiteID" : 2137, "BaseLine" : "2020-04-26", "uk" : "2137SD19.1" } },

最佳答案

映射中的"format": "yyyy-MM-dd"的作用仅仅是告诉ES您的日期值将以哪种格式显示在源文档中。
如您所见,您的源文档包含"BaseLine" : "2020-04-26",其格式与您要求ES期望的格式完全相同。当您为文档建立索引时,ES会正确解析您的BaseLine date字段并索引一个表示该时间点的长值。
您在工具提示中看到的值(即Apr 26, 2020)就是Kibana如何设置日期格式,您可以根据需要在“堆栈管理>高级设置”中更改日期。
最后,您在过滤器中看到的过滤器值(即2020-04-26T00:00:00.000Z)是BaseLine字段的ISO8601表示形式以及查询过滤器中使用的ES。
据我所知,一切看起来都是正确的。

关于elasticsearch - Elasticsearch解析日期字段的格式不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63352320/

相关文章:

elasticsearch - ELASTICSEARCH-过滤重复结果

elasticsearch - 在自定义应用程序中集成 kibana

c# - 带有Kibana的ElasticSearch云上的Serilog接收器未收到消息

elasticsearch - 无法使用GET API检索文档

elasticsearch - 通过多节点集群设置时无法访问Kibana中的elasticsearch实例

json - 在elasticsearch和Kibana中导入.log文件

elasticsearch - Elasticsearch 集群显示为红色。如何恢复?

docker - 使用 docker 在命令行上指定 logstash 配置

c# - Elasticsearch 日期直方图存储桶计数过滤

c# - ElasticSearch .net GeoDistance过滤器不起作用