繁体   English   中英

弹性搜索 - 我们如何计算给定字段和动态字段之间的年龄

[英]Elastic Search - how can we calculate age in years between given and dynamic field

我有下面的一段代码,

获取患者/_search {“查询”:{“范围”:{“birthDate”:{“lte”:“now-20y/d”}}}}

而不是现在 function,我想要一些动态值(2019-01-01 01:00:00.000)然后计算年份

您可以使用gte(大于或等于)或 gt(大于)参数来构造您要查找的查询。

查看您的查询,您需要从今天起20 年之前出生的患者列表,在这种情况下,您的查询将如下所示。

POST <your_index_name>/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "range": {
            "date": {
              "gte": "1999-11-14 01:00:00.000",     <--- Note this (Exactly 20 years from today)
              "lte": "now"                         
            }
          }
        }
      ]
    }
  }
}

现在,如果您想要19852015年间出生的患者列表,您的查询将采用以下方式。

POST <your_index_name>/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "range": {
            "date": {
              "gte": "1985-01-01 01:00:00.000",
              "lte": "2015-01-01 01:00:00.000"
            }
          }
        }
      ]
    }
  }
}

希望有帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM