任意GQL筛选和排序,不需要庞大的index.yaml



我在Google app Engine上写了一个小程序,允许用户上传大约有10个左右字符串和数字字段的文件。我将文件和这些相关字段存储在一个ndb模型中。然后,我允许用户对这些文件进行过滤和排序,使用任意字段进行排序,使用任意字段或字段集合进行过滤。然而,每当我在上传之前没有在dev_appserver上运行的应用程序上运行排序/过滤组合时,我都会得到一个NeedIndexError以及一个建议的索引,这似乎对于排序和过滤字段的每个组合都是唯一的。我尝试遍历应用服务器上的每一个排序/过滤字段组合,生成一个大索引。但在某个时候,应用程序完全停止加载(我没有监控这是逐渐放缓还是突然中断)。

我的问题如下。这是GAE数据存储的典型行为吗?如果不是,我的代码中哪些部分与故障排除相关?如果这是典型的行为,那么GAE上是否有一个数据存储的替代方案,可以让我做我想做的事情?

似乎谷歌云SQL会做我需要的,但因为我试图不花任何钱在这个项目和GCS没有一个免费的无限层,我已经诉诸于我的过滤器查询,然后自己排序的结果。

最新更新