1

我正在使用 App Engine Search 将结果限制在定义的圈子内。

distance("points", geopoint(%f,%f)) < %d" % (latitude, longitude, radii)

对于 10、100 和 1,000 米的半径,我得到了正确的结果。但是对于说 400,000(即 400 公里)的半径,则返回定义圆之外的结果。

有谁知道这是这个平台的限制?我很难相信大圆没有被考虑在内。

4

1 回答 1

1

谷歌有一个错误;于 2013 年 2 月报道,至今仍存在。问题跟踪器将其优先级标记为中等。

一个建议是查看返回的每个结果并检查它是否正确。

如果您在 Google 平台上添加此更正步骤,那么您将为此功能支付两次费用 - 一次用于 Google 的编码执行以产生不正确的结果集,一次用于您的更正代码。

这是一个重要的解决方法,因为总结果的任何计数都可能非常不正确(例如,Google 返回 100 个结果,但实际数字为零)。

如果您出于性能原因必须对结果进行分页,那么此错误会杀死该方法,因为一旦您过滤掉了无效结果,每个页面集可能不包含任何有效结果。

这是答案还是我和其他人错过了一些重要的细节?

于 2015-09-07T14:40:14.073 回答