我正在使用App Engine Search将搜索结果限制在定义的圈子内。
distance("points", geopoint(%f,%f)) < %d" % (latitude, longitude, radii)对于10米、100米和1000米的半径,我得到了正确的结果。但是对于400,000 (即400 of )的半径,则返回定义圆之外的结果。
有人知道这是这个平台的一个限制吗?我发现很难相信伟大的圆圈没有被考虑在内。
发布于 2015-09-07 22:40:14
谷歌在2013年2月报告了a bug;,至今仍在。问题跟踪器将其优先级标记为“中”。
一种建议是查看返回的每个结果,并检查其是否正确。
如果您在Google平台上添加此校正步骤,那么您将为此功能支付两次费用-一次用于Google的编码执行以生成错误的结果集,另一次用于您的校正代码。
这是一个不平凡的变通办法,因为任何对总结果的计数都可能非常不正确(例如,Google返回100个结果,但实际数字是零)。
如果您出于性能原因而不得不对结果进行分页,那么这个bug就会终止这种方法,因为一旦您过滤掉无效的结果,每个页面集可能都不包含任何有效的结果。
这是答案,还是我和其他人错过了一些重要的细节?
https://stackoverflow.com/questions/32437391
复制相似问题