я использую elasticsearch, чтобы вернуть бизнес рядом с местоположением пользователей.
Если я ищу с единицей расстояния в километре «км», я получаю ожидаемые результаты, но если я использую мили «м», он возвращает 0 совпадений.
пример запроса км с хитами
{
"sort" : [
{
"_geo_distance" : {
"location" : {
"lon": -0.11454850000000001,
"lat": 51.4911665
},
"order" : "asc",
"unit" : "km"
}
}
],
"query": {
"filtered" : {
"query" : {
"match_all" : {}
},
"filter" : {
"geo_distance" : {
"distance" : "1km",
"location" : {
"lon": -0.11454850000000001,
"lat": 51.4911665
}
}
}
}
}
}
1 км = 0,6 мили, поэтому этот запрос должен возвращать то же количество результатов, что и выше, но возвращает 0.
{
"sort" : [
{
"_geo_distance" : {
"location" : {
"lon": -0.11454850000000001,
"lat": 51.4911665
},
"order" : "asc",
"unit" : "m"
}
}
],
"query": {
"filtered" : {
"query" : {
"match_all" : {}
},
"filter" : {
"geo_distance" : {
"distance" : "1m",
"location" : {
"lon": -0.11454850000000001,
"lat": 51.4911665
}
}
}
}
}
}
Любые идеи, почему это может быть?
m
– метр, мили –mi
(подробнее о единицах расстояния) - person Val   schedule 19.10.2016