我已经配置了Kibana仪表板以公开 flex 搜索数据,并且似乎默认的仪表板可以正常工作,但是时间范围过滤器不起作用。
我也使用指定的时间戳字段做了自定义仪表板,但仍然无法正常工作。
任何人都可以帮助解决此问题吗?这是字段
_id
_index
_type
reported_date
request
request_id
type
这里的report_date字段是时间戳,其值类似于report_date“:”“2014-07-10 12:55:14.662731”。
样本数据
Field Action Value
_id XoYvZW-PRwe5AxdamsCydw
_index test
_type teststatus
reported_date 2014-06-27 10:32:07.528156
request /testapi/test
最佳答案
这是由于UTC中ElasticSearch的时区,所以当您发送测试执行时间时,请将其转换为UTC。
我在Java代码中做了这些更改,并且对我有用,逻辑将保持不变
DateFormat formatterIST = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
formatterIST.setTimeZone(TimeZone.getTimeZone("Asia/Kolkata"));
Date dateobj = new Date();
Date date = formatterIST.parse(formatterIST.format(dateobj));
System.out.println(formatterIST.format(date));
DateFormat formatterUTC = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
formatterUTC.setTimeZone(TimeZone.getTimeZone("UTC")); // UTC timezone
System.out.println(formatterUTC.format(date));