所以我在App Engine上有一个实时的Python应用程序,它有太多的自动索引。我注意到我的低实体数量的大量数据存储写入,我相信这是原因。每个实体都有许多StringProperties,有些甚至还有StringListProperties。
我将indexed = False添加到我的所有对象的属性中(我并不是每个人都使用这个问题的查询):
someproperty = db.StringProperty(indexed = False)
我需要做些什么才能让新实体无法编入索引?我是否需要增加应用的版本ID?
我是否需要运行appcfg.py vacuum_indexes .
?
答案 0 :(得分:3)
vacuum_indexes仅适用于index.yaml中定义的索引,对于自动索引,它足以设置indexed = False并上传新版本。
您可以在写入计数列的开发服务器数据存储页面中看到设置索引为False的影响。
答案 1 :(得分:1)
要摆脱现有的自动索引,您必须检索每个实体并使用indexed = False
属性重新放置它。
如果你不这样做,那么自动索引会一直存在。但是,您创建的新实体将不会添加到这些索引中。