Я пытаюсь выполнить запрос диапазона для вложенного ключевого поля в Elasticsearch 6.4, но мне не везет:
{
"query": {
"bool": {
"filter": [
{
"nested": {
"path": "metas",
"query": {
"bool": {
"must": [
{ "term": { "metas.key": "duration"} },
{ "range": {"metas.value": {"gte": "100", "lte": "200"} } }
]
}
}
}
}
]
}
}
}
Поэтому я ищу все документы, где metas.key
равно duration
и metas.value
находится между 100-200
(отформатировано как строка).Мой запрос успешен, но включает в себя любые metas.value
независимо от его значения, например, я получаю документы с значением 20
и т. Д. Мое отображение (в Ruby) выглядит следующим образом:
indexes :metas, type: :nested do
indexes :key, type: :keyword
indexes :value, type: :keyword
indexes :created_at, type: :date
indexes :updated_at, type: :date
end