Я недавно столкнулся с той же проблемой. Однако придумали два решения.
1) Если вы не хотите изменять текущее сопоставление, вы можете запросить документы, используя query_string. Также обратите внимание, что вам нужно будет создать объект запроса в соответствии с имеющимся у вас диапазоном. ( "\" 2019-04-08 \ "ИЛИ \" 2019-04-09 \ "ИЛИ \" 2019-04-10 \ "" )
{
"query": {
"query_string": {
"default_field": "dates",
"query": "\"2019-04-08\" OR \"2019-04-09\" OR \"2019-04-10\" "
}
}
}
Однако этот тип запроса имеет смысл, только если диапазон мал.
2) Второй способ - вложенный. Но вам придется изменить текущее отображение таким образом.
{
"properties": {
"dates": {
"type": "nested",
"properties": {
"key": {
"type": "date",
"format": "YYYY-MM-dd"
}
}
}
}
}
Итак, ваш запрос будет выглядеть примерно так: -
{
"query": {
"nested": {
"path": "dates",
"query": {
"bool": {
"must": [
{
"range": {
"dates.key": {
"gte": "2018-04-01",
"lte": "2018-12-31"
}
}
}
]
}
}
}
}
}