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
我将 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