假设我在ms new Date('2023-03-09').getTime()
中有一个时间戳,输出为1678320000000。我如何使用这个特定的时间戳执行ElasticSearch查询,以使用日期数学表达式查找从该时间戳到它之前1分钟的任何文档?当将日期格式化为字符串(如2023-03-09-1m
)时,我似乎遇到了同样的问题。我尝试了如下ES查询:
"range": {
"@timestamp": {
"gte": "1678320000000-1m",
"lt": "1678320000000"
}
}
但它似乎得到了错误
"reason": {
"type": "parse_exception",
"reason": "failed to parse date field [1678320000000-1m] with format [strict_date_optional_time||epoch_millis]",
"caused_by": {
"type": "illegal_argument_exception",
"reason": "Unrecognized chars at the end of [1678320000000-1m]: [320000000-1m]"
}
}
而如果我对now
使用普通的日期数学,查询就会成功。
"range": {
"@timestamp": {
"gte": "now-1m",
"lt": "1678320000000"
}
}
有没有什么方法可以在一个查询中同时合并日期数学和数学表达式?
1条答案
按热度按时间zf2sa74q1#
这个应该可以
日期数学文档说
表达式以锚日期开始,该日期可以是现在,也可以是以结尾的日期字符串||。