将indexed = False更改为True,DataStorage和查询无法实现

时间:2014-05-02 11:04:13

标签: google-app-engine app-engine-ndb

在我的模型中,我有一个设置为indexed=False的属性。要在投影中使用它,我必须将其更改为indexed=True。但令人惊讶的是,现在进行查询并不会给出单个结果,总是为空。 是否有重新索引表的提示或结果集为空的原因?

https://developers.google.com/appengine/docs/python/ndb/properties#options

1 个答案:

答案 0 :(得分:8)

对于在将索引从False更改为True之前保存的数据,任何索引都不会包含该属性。您需要再次保存每个实体,以使用现在包含在索引中的属性重新索引它们。

根据数据集的大小,您可以在请求处理程序(100个实体),任务队列(1000个实体)或使用MapReduce作业(10000个以上实体)中执行此操作。