now/d elasticsearch 是什么意思

dıl*_*ücü 4 elasticsearch

它到底是什么now-1d/dnow/d在弹性搜索中,下面是一个示例查询

GET /_search
{
    "query": {
        "range" : {
            "timestamp" : {
                "gte" : "now-1d/d",
                "lt" :  "now/d"
            }
        }
    }
}

Run Code Online (Sandbox Code Playgroud)

Ami*_*wal 5

它将获取当前时间戳(查询到达 Elasticsearch 的时间)并扣除 1 天时间戳并将文档置于该范围内。

当您不想指定确切时间并希望获取最近 1 天、3 天、7 天、1 个月等的数据时,这些类型的查询非常有用。

正如范围查询官方文档中提到的

now 始终是当前系统时间(UTC)。

以datemath 官方文档为例

假设现在是 2001-01-01 12:00:00,一些例子是:

now+1h 现在以毫秒为单位加一小时。决议为:2001-01-01 13:00:00

now-1h 现在以毫秒减去一小时为单位。解决:2001-01-01 11:00:00

now-1h/d 现在以毫秒减去一小时为单位,向下舍入到 UTC 00:00。解决:2001-01-01 00:00:00

2001.02.01||+1M/d 2001-02-01 以毫秒为单位加一个月。解决于:2001-03-01 00:00:00