Search API中多值GeoPoint字段上的距离函数

时间:2018-10-30 10:44:02

标签: google-cloud-platform geospatial google-search-api

我们正在使用Google Cloud Search API在Google App Engine上创建搜索索引。索引文档具有一个Geopoint数据类型列,即“ locationGeoPt”,该列存储每条记录的地址的纬度和经度对。因此,文档在此列中可能具有多对纬度和经度,如下所示:

  

locationGeoPt:(32.651,-96.864)(33.114,-96.675)

现在是查询部分,我们需要查询这些地址距离小于给定距离的文档,如下所示:

  

距离(locationGeoPt,geopoint(32.9654778,-96.82974030000003))<400

为此,我们使用SEARCH API提供的“距离”功能。

现在,有什么问题: 我们与locationGeoPt字段进行比较的是一对LAT和Long for a distance,例如上面写的400。 字段“ locationGeoPt”存储了多对LAT-LONG,但是它与第一组LAT-LONG进行比较,并且如果第一个匹配失败,则不与其余对对进行比较。例如,locationGeoPt中的第一对LAT-LONG不在400米之内,而第二对在LAT-LONG之内。

有人可以建议如何解决此问题吗?

0 个答案:

没有答案