У меня есть проект django, в котором используется asticsearch 6.5.3 для индексации товаров в магазине с точками GeoPoints.Я пытаюсь запросить этот индекс, а также рассчитать расстояние между произвольной точкой, скажем, местоположение пользователя для каждого из этих результатов.
Я используюasticsearch_dsl, и мой код выглядит примерно так:
search_query = search_query.script_fields(distance={
'script':{
'inline':"doc['location'].arcDistance(params.lat, params.lon)",
'params': {
'lat':user_loc.lat,
'lon':user_loc.lon
}
}
})
for result in search_query.execute():
print(result.distance)
Что дает мне значения, которые выглядят следующим образом:
[123456.456879123]
Но я не уверено его подразделениях.Используя онлайн-калькулятор расстояний в https://www.nhc.noaa.gov/gccalc.shtml,, который дает мне расстояние ~ 123 км, похоже, значение в метрах.
Итак:
1.Где я могу найти некоторые точные ответы о его единицах?
Пожалуйста, укажите мне соответствующую документацию для этих методов.Мне также интересно знать, есть ли способ указать единицы измерения, ожидаемые для результатов в вызове метода.
2.Есть ли лучший способ сделать это в Python?