GAE索引(重新开始)

时间:2011-09-09 05:31:18

标签: java google-app-engine indexing google-cloud-datastore

我的GAE应用程序在“数据存储区索引”选项卡中没有索引,它只以Blob格式存储临时数据(从不超过1兆,即只有1个blob实体),但仍然会产生大约一千个索引写入Ops和数据存储区的“已使用”比例不断增长。

我知道使用Google提供的命令行实用程序清除索引是可能的,但有没有办法完全避免索引根本不应编入索引的数据?或者至少从应用程序本身清除它们?

UPD:我使用Java。

2 个答案:

答案 0 :(得分:1)

为了避免在您的应用不需要过滤的属性上创建无用的索引,您可以将indexed类的Property参数设置为False。

  

<强>索引

     

此属性是否应包含在内置和   开发人员定义的索引。   如果为False,则实体写入数据存储区   永远不会被对此排序或过滤的查询返回   属性,类似于Blob和Text属性。

文档here

答案 1 :(得分:1)

我找到了一个非常简单的解决方案:你可以告诉GAE不应该使用JDO注释索引某个属性:

    @Persistent
    @Extension(vendorName = "datanucleus", key = "gae.unindexed", value = "true")
    private Blob b;