我们正在使用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之内。
有人可以建议如何解决此问题吗?