删除数据存储区中所有未使用的索引之前的确认(GAE / Java)

时间:2014-03-05 22:47:08

标签: google-app-engine indexing

我有一个正在制作的网站,我想避免犯一个大错... 我想使用真空指数命令

  

./ appengine-java-sdk / bin / appcfg.sh vacuum_indexes myapp / war

备份是否可以帮助恢复所有索引? 在进行这种操作之前,你有任何推荐吗? 这是我的datastore-indexes.xml:

<datastore-index kind="Event"   ancestor="false" source="manual">
<property name="date_list"      direction="asc" />
<property name="e_name"         direction="asc" />  
</datastore-index>
<datastore-index kind="U"       ancestor="false" source="manual">
<property name="u02_name"       direction="asc" />
<property name="u04_zona"       direction="asc" />
</datastore-index>
<datastore-index kind="S"       ancestor="false" source="manual">
<property name="cookie"         direction="asc" />
<property name="dateCreated"    direction="asc" />
</datastore-index>

这是我当前索引状态的一个screeshot(红色,是我应该实际使用的索引): enter image description here 谢谢你,

1 个答案:

答案 0 :(得分:0)

Searching StackOverflow for this 代码和vacuum指示其他用户经常进行吸尘但不报告任何数据丢失,因此您应该没事。 One question包含一个关于您应该避免的操作的警告,即在清除完成之前执行update_index(可能要求最终的一致性问题),并且upvoted答案描述了一个合理的恢复过程。

为了获得一些信心,您可以使用Admin Console数据存储区管理页面将所有数据复制到另一个应用并首先执行所有维护工作。显示的数据量应该很快复制。该副本将让您高枕无忧,也可以是一个方便的热备份备份,以防生产数据发生不可想象的情况。