Фильтр Elasticsearch (числовое поле) ничего не возвращает
Тип сопоставления
{
"pois-en": {
"mappings": {
"poi": {
"properties": {
"address": {
"type": "string",
"analyzer": "portuguese"
},
"city": {
"type": "integer"
},
(...)
"type": {
"type": "integer"
}
}
}
}
}
}
Запросить все:
GET pois-en/_search
{
"query":{
"match_all":{}
},
"fields": ["city"]
}
возвращает:
"hits": [
{
"_index": "pois-en",
"_type": "pois_poi",
"_id": "491",
"_score": 1,
"fields": {
"city": [
91
]
}
},
(...)
Но когда я фильтрую, используя:
GET pois-en/_search
{
"query" : {
"filtered" : {
"query" : {
"match_all" : {}
},
"filter" : {
"term" : {
"city" : 91
}
}
}
}
}
Его ничего не возвращает!
Я не могу понять, что я делаю неправильно. Для общения с Django и Elasticsearch я Elasticutils ( https://github.com/mozilla/elasticutils), но сейчас я использую Sense для выполнения этих запросов.
заранее спасибо
1 ответ
Имя типа не соответствует вашему сообщению (poi
а также pois_poi
) - возвращенный документ не соответствует вашему отображению.