一尘不染

ElasticSearch distanceInKm返回的错误距离

elasticsearch

我实现了一个脚本字段,该字段返回的距离如下所示:Elasticsearch结果中的返回距离?

Ruby:

{
  script_fields: {
    distance: {
      script: "doc['#{source_field}'].distanceInKm(#{lat}, #{lng})"
    }
  }
}

但是返回的距离不正确。如果该点很近,则距离会更正确,但是随着距离的增加,它会变得越来越不正确。

似乎无法弄清楚我在做什么。


阅读 615

收藏
2020-06-22

共1个答案

一尘不染

distanceInKm()将距离计算为平面上的点,该速度很快但不太准确。尝试改用arcDistanceInKm()。

2020-06-22