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



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

我添加了index = False到我的所有对象的属性(我不使用查询,这将是重要的):

someproperty = db.StringProperty(indexed = False)

还有什么我需要做的新的实体被取消索引?我需要增加应用程序的版本id吗?

需要运行appcfg.py vacuum_indexes .

vacuum_indexes仅用于index中定义的索引。对于自动索引,只需设置indexed = False并上传新版本即可。

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

要摆脱现有的自动索引,您将不得不检索每个单独的实体并将其与indexed = False属性重新放置。

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

最新更新