Так что я экспериментирую с ElasticSearch, и это то, что я сделал.Почему я не могу запросить геолокацию в поиске эластичности?
1) Добавлено отображение geo_point на мой индекс, называемый "тест"
curl -XPOST localhost:9200/test -d '{
"mappings" : {
"type1" : {
"_source" : { "enabled" : false },
"properties" : {
"location" : { "type" : "geo_point", "index" : "not_analyzed" }
}
}
}
}'
2) индексируются документ под тест:
curl -XPUT 'localhost:9200/test/type1/1?pretty' -d '{
"location" : {
"lat" : 74,
"lon" : 90
}
}'
3) Затем написал запрос по геолокации фильтра, как это :
curl -XPOST 'localhost:9200/test2/_search?pretty' -d '{
"filtered" : {
"query" : {
"match_all" : {}
},
"filter" : {
"geo_distance" : {
"distance" : "200km",
"location" : {
"lat" : 40,
"lon" : -70
}
}
}
}
}'
Для этого я получаю:
«error»: «SearchPhaseExecutionException [Не удалось выполнить фазу [запрос], все осколки не пройдены; shardFailures {[QpGEHtdcReeYmt8X2tG26g] [test2] [0]: RemoteTransportException [[Jester] [inet [/10.58.91.21:9301]] [поиск/фаза/запрос]]; inested: SearchParseException [[test2] [0]: from [-1], size [-1]: Parse Ошибка [Не удалось проанализировать источник [na]]]; inested: ElasticsearchParseException [Не удалось получить xcontent с [email protected]c76];
Вы в состоянии выполнять простые запросы без гео вещи? – Thorsten
Да, первые два преуспели. Но третий терпит неудачу. – Phoenix