任意 gql 过滤器和排序没有巨大 index.yaml

arbitrary gql filters and sorts without huge index.yaml

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

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

似乎 Google Cloud SQL 可以满足我的需要,但由于我不想在这个项目上花任何钱,而且 GCS 没有免费的无限层,我已经求助于通过我的过滤器进行查询,然后自己对结果进行排序。