Я создал эластичный индекс поиска, который включает в себя различные сопоставления _type для каждой страны.ElasticSearch _Type with geolocation
Так есть отображение для «нас», «аи», «ик» и т.д.
Каждого отображения включает в себя отображение типа «geo_point»
перед добавлением различного _types
расположения My сортировать запрос будет выглядеть следующим образом:
"sort" : [
{
"_geo_distance" : {
"postcode.location" : [' . $mylocation_long . ',' . $mylocation_lat . '],
"order" : "asc",
"unit" : "km"
}
}
],
с добавлением _types к данным и не картирование это уже не работает, а я указываю это нравится:
"sort" : [
{
"_geo_distance" : {
"$country.location" : [' . $mylocation_long . ',' . $mylocation_lat . '],
"order" : "asc",
"unit" : "km"
}
}
],
это работает нормально.
Однако есть моменты, когда запросы необходимо выполнять за пределами отдельной страны. Поэтому установка «us.location» неверна и не работает.
В этом случае, как мне выполнить эту сортировку, когда я не знаю страну, и мне нужно отсортировать ее по карте.
Или это не может быть сделано, и все документы должны иметь один и тот же _type, чтобы это работало?
Вы пробовали использовать подстановочные:. * "Местоположение"? Еще не пробовал это, и не уверен, насколько это было бы. –
В [multi-index docs] (http://www.elasticsearch.org/guide/reference/api/multi-index/) также говорится о добавлении списка индексов, разделенных запятыми, но без примера. –