如何在app引擎中有效地运行两个不等式过滤器

Joe*_*oey 13 google-app-engine inequality filter

我知道应用引擎的限制是"仅允许在一个属性上使用不平等过滤器",如下所述:http://code.google.com/appengine/docs/python/datastore/queriesandindexes.html#Introducing_Indexes

但是有没有办法基本上运行两个过滤器,或者这根本不可能?例如,如果我有一个只有X和Y坐标的实体类型,并且我希望所有实体都在X1到X2和Y1到Y2的某个范围内,那么有什么方法可以查询从X1到X1的所有实体X2按Y值排序,然后轻松抓住我想要的Y值范围之间的相关值?

如果是这样,有人有一些示例代码来演示吗?

Sax*_*uce 6

如果它适合您的数据,您可以将X和Y离散化为二进制数,生成两个值的哈希值,并将其存储在模型上.然后,您可以对要在其中搜索的区域重叠的哈希值进行精确查找.然后,手动过滤掉您所在地区以外的结果.

这基本上是地理模型正在为纬度/经度做的事情.