如何从 ElasticSearch 查询 5 年前的数据?

How to query 5 year old data from ElasticSearch?

我需要搜索所有超过 5 年的文件。这些文档包含一个名为“capture_date”的字段。我们可以从中计算出他们的年龄。

{
    "_index" : "liberty-429-dev",
    "_type" : "_doc",
    "_id" : "7ed0f73d-a979-4497-b5cf-ab6854b0fd24",
    "_score" : null,
    "_source" : {
      "capture_date" : "2021-01-01",
      "vendor_invoice_number" : ""
    }
  },
  {
    "_index" : "liberty-429-dev",
    "_type" : "_doc",
    "_id" : "b442a1d5-bd37-4990-94ef-0a93c9e67450",
    "_score" : null,
    "_source" : {
      "capture_date" : "2021-01-02",
      "vendor_invoice_number" : "",
    }
}

这些是一些文件。请建议获取请求查询以搜索比当前日期早 5 年的文档?

您可以使用 range query 查找比当前日期早 5 年的文档

{
  "query": {
    "range": {
      "capture_date": {
        "lt": "now-5y/y"
      }
    }
  }
}