如何删除App Engine中的自动索引?

时间:2011-11-18 16:45:49

标签: python google-app-engine google-cloud-datastore

所以我在App Engine上有一个实时的Python应用程序,它有太多的自动索引。我注意到我的低实体数量的大量数据存储写入,我相信这是原因。每个实体都有许多StringProperties,有些甚至还有StringListProperties。

我将indexed = False添加到我的所有对象的属性中(我并不是每个人都使用这个问题的查询):

someproperty = db.StringProperty(indexed = False)

我需要做些什么才能让实体无法编入索引?我是否需要增加应用的版本ID?

我是否需要运行appcfg.py vacuum_indexes .

2 个答案:

答案 0 :(得分:3)

vacuum_indexes仅适用于index.yaml中定义的索引,对于自动索引,它足以设置indexed = False并上传新版本。

您可以在写入计数列的开发服务器数据存储页面中看到设置索引为False的影响。

答案 1 :(得分:1)

要摆脱现有的自动索引,您必须检索每个实体并使用indexed = False属性重新放置它。

如果你不这样做,那么自动索引会一直存在。但是,您创建的新实体将不会添加到这些索引中。