OpenSearch Dashboard时间戳显示异常问题排查求助
问题原因及解决方法
你的问题出在日期格式符号使用错误:索引映射里的YYYY是周年(Week Year)格式符,并非常规公历年份的格式符,这导致OpenSearch解析时间戳时出现了偏移。
具体错误点
在你的索引映射中,timestamp字段的格式使用了["YYYY-MM-DD HH:mm:ss.SSS"],其中:
YYYY代表ISO周年,是基于周的年份计算规则(每年第一周至少包含4天),因此会和常规公历年份产生偏差(比如部分年份的1月初会被归到上一年的周年,12月底归到下一年)- 正确的公历年份格式符应为
yyyy
修正后的索引映射
将映射里的YYYY替换为yyyy,同时建议把DD改为标准日格式符dd:
PUT loggerheads { "mappings": { "properties": { "timestamp": { "type": "date", "format": ["yyyy-MM-dd HH:mm:ss.SSS"] }, "message": { "type": "text" } } } }
验证方法
可以用OpenSearch的_analyze API测试日期解析是否正常:
POST _analyze { "tokenizer": "date", "filter": [], "text": "2022-02-09 11:11:11.111", "field": "loggerheads.timestamp" }
若解析正确,返回结果会显示对应的时间戳数值。
后续操作
- 若数据可重新导入,删除原索引后用修正后的映射重建索引
- 重新导入文档,此时时间戳即可被正确解析,在Dashboard中显示正常
内容的提问来源于stack exchange,提问作者naraghi
相关产品推荐
相关产品推荐

