我实现了一个脚本字段,该字段返回的距离如下所示:Elasticsearch结果中的返回距离?
Ruby:
{ script_fields: { distance: { script: "doc['#{source_field}'].distanceInKm(#{lat}, #{lng})" } } }
但是返回的距离不正确。如果该点很近,则距离会更正确,但是随着距离的增加,它会变得越来越不正确。
似乎无法弄清楚我在做什么。
distanceInKm()将距离计算为平面上的点,该速度很快但不太准确。尝试改用arcDistanceInKm()。