Elasticsearch日期查询在某个月出生的人

问题描述

您可以使用过滤器来实现script

每年5月出生的所有人:

{
  "query": {
    "filtered": {
      "filter": {
        "script": {
          "script": "doc.birthdate.date.monthOfYear == 5"
        }
      }
    }
  }
}

所有8月25日出生的人(每年)

{
  "query": {
    "filtered": {
      "filter": {
        "script": {
          "script": "doc.birthdate.date.monthOfYear == 8 && doc.birthdate.date.dayOfMonth == 25"
        }
      }
    }
  }
}

解决方法

我有一个具有以下映射的字段:

birthdate: { type: :date,format: :dateOptionalTime }
  1. 我需要找到每个在五月(包括所有年份)出生的人
  2. 另一个查询是查找所有在“ 8月25日”出生的人(包括所有年份)

这将是什么查询?