我有一个任务,以某种方式检查查询ES之前,用户提供了一个正确的时间戳的时间范围。具体来说,我需要将“now"、“now-1d"、“now+1h”等表达式解析为有效的时间戳。有没有什么想法,我可以做到这一点,而不做硬核的东西,如尝试对我自己的字符串解析日期格式?
换句话说,我需要将“now-1h”转换为 date(2023,10,07,x,x,x) 或任何其他有效格式。
也许我可以先通过发送一些简单的查询来用ES检查它?
谢谢你
我有一个任务,以某种方式检查查询ES之前,用户提供了一个正确的时间戳的时间范围。具体来说,我需要将“now"、“now-1d"、“now+1h”等表达式解析为有效的时间戳。有没有什么想法,我可以做到这一点,而不做硬核的东西,如尝试对我自己的字符串解析日期格式?
换句话说,我需要将“now-1h”转换为 date(2023,10,07,x,x,x) 或任何其他有效格式。
也许我可以先通过发送一些简单的查询来用ES检查它?
谢谢你
1条答案
按热度按时间n8ghc7c11#
您可以使用validate命令验证整个查询。因此,您可以创建一个小的日期范围查询并在其中放置时间戳。
说这些,我觉得你只是在浪费时间。如果日期不正确,您将从elasticsearch获得非常快速的响应,然后您可以将其发送回用户。你也不需要做任何事情来解析像“now”,“now-1d”,“now+1h”这样的表达式,然后再将它们发送到elasticsearch。Elasticsearch在需要时间戳时支持这些表达式和一些其他表达式。