У меня есть отображение с внутренним объектом следующим образом:Elasticsearch Aggregation - Невозможно выполнить агрегацию объект
{
"mappings": {
"_all": {
"enabled": false
},
"properties": {
"foo": {
"name": {
"type": "string",
"index": "not_analyzed"
},
"address": {
"type": "object",
"properties": {
"address": {
"type": "string"
},
"city": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
}
}
}
Когда я пытаюсь следующая агрегацией она не возвращает данные:
post data:*/foo/_search?search_type=count
{
"query": {
"match_all": {}
},
"aggs": {
"unique": {
"cardinality": {
"field": "address.city"
}
}
}
}
Когда я пытаюсь поставить поле city или address.city, агрегация возвращает ноль, но если я положил foo.address.city, то тогда Я получаю правильный ответ elasticsearch. Это также влияет на поведение кибаны
Любые идеи, почему это происходит? Я видел, что есть mapping refactoring, что может повлиять на это. Я использую elasticsearch версию 1.7.1
Чтобы добавить на это, если я использую относительный путь в поисковом запросе следующим образом он работает нормально:
"query": {
"filtered": {
"filter": {
"term": {
"address.city": "london"
}
}
}
}
Есть ли название поля foo и индексный тип, называемый foo? –
Нет, это упрощенный пример, который я добавил для целей вопроса – tbo
Извините, опечатка в моем вопросе - «Есть ли имя поля под названием foo и индексный тип, называемый foo» –