我已经实现了一个返回距离的脚本字段Return distance in elasticsearch results?
红宝石:
{
script_fields: {
distance: {
script: "doc['#{source_field}'].distanceInKm(#{lat}, #{lng})"
}
}
}
但是返回的距离不正确。如果该点接近,则距离更正确,但随着距离越来越远,它变得越来越不正确。
似乎无法弄清楚我做错了什么。
答案 0 :(得分:8)
distanceInKm()计算距离作为平面上的点,这是快速但不是很准确。请尝试使用arcDistanceInKm()。