GAE DataStore 复合索引不是 working/recognized

GAE DataStore composite index not working/recognized

我将 GAE 与 Java 一起使用,并使用 Objectify 进行数据存储访问。

最近我添加了一个通过两个属性过滤实体的查询,在开发服务器中它没有问题,但在生产中,查询失败并显示消息告诉应该定义索引并且它还建议索引是什么. 因此,我阅读了有关索引的更多信息,并将所需的索引包含在 WEB-INF/datastore-indexes.xml 中,并确保 WAR 包含所需的文件,但是我仍然遇到与索引文件实际上并不存在。

Entity1.java

@Entity
@Cache
class Entity1{
 @Index private String property1;
 @Index private String property2;

 @Index @Parent private Ref<ParentEntity> parent; 

 /* setters and getters */
}

数据存储-indexes.xml

<?xml version="1.0" encoding="utf-8"?>
<datastore-indexes autoGenerate="true">
    <datastore-index kind="Entity1" ancestor="true" source="manual">
        <property name="property1" direction="asc"/>
        <property name="property2" direction="asc"/>
    </datastore-index>
</datastore-indexes>

我的索引没有工作,直到我通过命令行使用 gcloud 部署它们(对于 PHP 后端)。

我为 Java 找到了这一行,或许您应该尝试 运行 它并查看索引是否显示在 DataStore>Indexes 页面中。

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