ElasticSearch Date Math找出它在计算什么

s4chpxco  于 2023-10-17  发布在  ElasticSearch
关注(0)|答案(2)|浏览(108)

所以我想知道now-1y的结果是什么。这就是:

  1. now - 365days
  2. now - 365.25days
    1.现在减去年份部分,所以2014-12-23T08:46:00
    我已经阅读了此文档,但无法找到更多信息。
jgwigjjp

jgwigjjp1#

经过一些测试后,第三个命题似乎是正确的(即“现在减去了年份部分,所以2014-12- 23 T08:46:00”)
如果2是正确的,下面的例子应该返回2个结果。example1
因为2012年是闰年。下面的例子应该返回0结果如果1是正确的。example2
注意:当我写这个答案时,示例只按预期工作,为了让它为你工作,你必须更新索引文档的日期字段。

pgx2nnw8

pgx2nnw82#

回答上面提出的一般性问题:使用validate API。
indexname/_validate/query?rewrite=true

{
  "query": {
    "range": {
      "modifiedDate": {
        "gte": "now-1y/y",
        "lte": "now/y"
      }
    }
  }
}

你会得到:

{
  "_shards": {
    "total": 1,
    "successful": 1,
    "failed": 0
  },
  "valid": true,
  "explanations": [
    {
      "index": "indexname",
      "valid": true,
      "explanation": "+modifiedDate:[1640995200000 TO 1704067199999] #FieldExistsQuery [field=_primary_term]"
    }
  ]
}

这使您可以确切地看到给定查询使用的值。

相关问题