Запрос даты Elasticsearch. Люди, родившиеся в определенный месяц

У меня есть поле со следующим отображением:

birthdate: { type: :date, format: :dateOptionalTime }
  1. Мне нужно найти всех, кто родился в мае месяце (включая все годы)
  2. Другой запрос — найти всех людей, родившихся «25 августа» (включая все годы).

Какой запрос для этого?




Ответы (4)



Просто для архива: ES 7 привнес некоторые тормозные изменения https://www.elastic.co/guide/en/elasticsearch//reference/current/breaking-changes-7.0.html#_getdate_and_getdates_removed

Сейчас:

POST /people/_search?size=50
{
  "query": {
    "bool" : {
      "filter" : {
       "script" : {
          "script" : {
            "source": "doc['jour'].value.getMonthValue() == 5",
            "lang": "painless"
          }
        }
      }
    }
  }
}
person Mihamina Rakotomandimby    schedule 20.10.2019

Первый вопрос:

POST /test_index/_search
{
   "query": {
      "filtered": {
         "filter": {
            "range": {
               "birthdate": {
                  "gte": "2015-05-01",
                  "lt": "2015-06-01"
               }
            }
         }
      }
   }
}

Второй вопрос:

POST /test_index/_search
{
   "query": {
      "filtered": {
         "filter": {
            "range": {
               "birthdate": {
                  "gte": "2015-08-25",
                  "lte": "2015-08-25"
               }
            }
         }
      }
   }
}

Вот код, который я использовал для проверки:

http://sense.qbox.io/gist/36c800cabbe4143ecf72144d02e58e267c1e761a

person Sloan Ahrens    schedule 17.09.2015
comment
Спасибо за ваш ответ, но я, вероятно, был недостаточно конкретным. Мне нужно получить результаты за ВСЕ годы, а не только за 2015 год - person Anton; 18.09.2015
comment
Да, это совсем другой вопрос. - person Sloan Ahrens; 18.09.2015

person    schedule
comment
Не могли бы вы объяснить, чем это отличается от принятого ответа? Спасибо. - person deHaar; 01.08.2019
comment
filtered не поддерживает в новейшей версии - person Krishna Kumar; 01.08.2019