我在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, “_资源” : { “ SiteID”:2137, “ BaseLine”:“ 2020-04-26”, “ uk”:“ 2137SD19.1” } }
答案 0 :(得分:1)
"format": "yyyy-MM-dd"
在映射中的作用只是告诉ES您的日期值将以哪种格式显示在源文档中。
如您所见,您的源文档包含"BaseLine" : "2020-04-26"
,其格式完全符合ES要求的格式。当您为文档建立索引时,ES会正确解析您的BaseLine
日期字段,并为代表该时间点的长值建立索引。
您在工具提示中看到的值(即Apr 26, 2020
)就是Kibana如何设置日期格式,您可以根据需要在“堆栈管理>高级设置”中更改日期。
最后,您在过滤器(即2020-04-26T00:00:00.000Z
)中看到的过滤器值是BaseLine
字段的ISO8601表示形式以及查询过滤器中使用的ES。
据我所知,一切看起来都是正确的。