GAE DataStore综合索引无法正常工作/已识别

时间:2017-01-30 15:13:14

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

我使用GAE和Java,使用Objectify进行DataStore访问。

最近我添加了一个通过两个属性过滤实体的查询,在开发服务器中它可以正常工作,但在生产中,查询失败,并显示消息,告知应该定义索引,并建议索引是什么。 所以我阅读了有关索引的更多信息,并在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>

1 个答案:

答案 0 :(得分:1)

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

我发现这行适用于Java,也许您应该尝试运行它并查看索引是否显示在DataStore&gt; Indexes页面中。

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