GeoPoint - 如何传递准确性?

时间:2018-02-05 10:44:42

标签: java elasticsearch

我有这样的信息,可以在我的json中保存到ES:

{
"geolocation": {
    "latitude": 50.443278299999996,
    "longitude": 30.5075698,
    "accuracy": 3966
  }
}
我的Java对象中的

geolocation 是GeoPoint(private GeoPoint geolocation)。我如何将准确性传递给GeoPoint?或者也许还有另一种类型可以用lat,lon和precision来保存位置?

P.S。对于解析我使用:

public GenericResponse<?> addUserInfo(@RequestBody UserInformation userInformation) {
 }

geolocation 是UserInformation类中的一个字段。

1 个答案:

答案 0 :(得分:0)

我相信你错过了一些东西。准确度或距离,这是您在查询时指定的内容,而不是在保存某些内容时指定的内容。例如:

  • 您的弹性搜索中有一个条目。此条目有一个geo_point字段,包括lat和lon。
  • 当您搜索此配置文件时,您有一个地理位置,它代表一个位置,您可以根据此位置(让我们将其命名为查询位置)来查找elasticsearch中与您距离为X米的所有条目。

基本上没有保存的距离/准确性。给定地理查询,elasticsearch将计算这两个点之间的距离,并检查它是否小于您提供的距离/准确度(在查询期间),如果是,则包括该条目。