gpt4 book ai didi

elasticsearch - 对Elastic Search中的索引进行搜索查询时引起不同结果的时区

转载 作者:行者123 更新时间:2023-12-03 01:52:05 26 4
gpt4 key购买 nike

我正在尝试从特定索引的搜索查询(即:针对给定日期范围的搜索结果)中找出结果。这样我就可以每天获取结果。

这是查询:http://localhost:9200/dialog_test/_search?q=timestamp:[2016-08-03T00:00:00.128%20TO%202016-08-03T23:59:59.128]

在上面,时间戳是我使用logstash.conf添加的字段,以获取实际的日志时间。当我尝试查询此内容时,令人惊讶的是,我得到了一些匹配项(总匹配项:24),因为自(2016-08-03)以来我没有任何日志记录,所以应该为0。它实际上显示了第二天的计数(即:(2016-08-04),该日志文件中有24条记录。我敢肯定timezone出了点问题。

我的时区是 GMT + 5:30

这是我logstash conf的过滤部分:

filter {        
grok {
patterns_dir => ["D:/ELK Stack/logstash/logstash-2.3.4/bin/patterns"]
match => { "message" => "^%{LOGTIMESTAMP:logtimestamp}%{GREEDYDATA}" }
}
mutate {
add_field => { "timestamp" => "%{logtimestamp}" }
remove_field => ["logtimestamp"]
}
date {
match => [ "timestamp" , "ISO8601" , "yyyyMMdd HH:mm:ss.SSS" ]
target => "timestamp"
locale => "en"
}}

编辑:

这是日志文件中日期为(2016-08-04)的前24条记​​录的快照:

enter image description here

这是我搜索2016-08-03日期时获得的 JSON响应的快照:

enter image description here

我要去哪里错了?任何帮助,将不胜感激。

最佳答案

date过滤器中,您需要添加一个timezone

date {
match => [ "timestamp" , "ISO8601" , "yyyyMMdd HH:mm:ss.SSS" ]
target => "timestamp"
locale => "en"
timezone => "Asia/Calcutta" <--- add this
}

关于elasticsearch - 对Elastic Search中的索引进行搜索查询时引起不同结果的时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39608476/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com