【发布时间】:2014-03-24 02:11:19
【问题描述】:
当我使用 Objectify 部署我的 Google App Engine 服务器的 APP 时,我遇到了以下异常,尽管我已经配置了我的应用程序的所有索引。仍然不明白为什么我会收到此异常,由于此错误,我无法在此 Web 应用程序上执行任何操作。
生产服务器中的异常
/search
com.google.appengine.api.datastore.DatastoreNeedIndexException: no matching index found.
The suggested index for this query is:
<datastore-index kind="M_TAXI" ancestor="false" source="manual">
<property name="cityName" direction="asc"/>
<property name="updatedOn" direction="asc"/>
</datastore-index>
datastore.indexes.xml
<?xml version="1.0" encoding="UTF-8"?>
<datastore-indexes autoGenerate="true">
<datastore-index kind="M_COUNTRY" ancestor="false" source="auto">
<property name="countryCode" direction="asc" />
<property name="countryName" direction="asc" />
<property name="active" direction="asc" />
</datastore-index>
<datastore-index kind="M_CITY" ancestor="false" source="auto">
<property name="countryCode" direction="asc" />
<property name="cityName" direction="asc" />
<property name="cityCode" direction="asc" />
<property name="active" direction="asc" />
</datastore-index>
<datastore-index kind="M_TAXI" ancestor="false" source="auto">
<property name="cityName" direction="asc" />
<property name="supplierUserName" direction="asc" />
<property name="updatedOn" direction="asc" />
<property name="active" direction="asc" />
<property name="countryName" direction="asc" />
</datastore-index>
</datastore-indexes>
来自生产服务器的数据存储索引映像快照
【问题讨论】:
-
似乎很清楚,您没有错误要求的精确索引。有什么让你感到困惑的?
-
@DanielRoseman 我很困惑,因为我已经明确定义了所有索引,那么为什么 appengine 会给出这个错误。
-
但你没有!错误说它需要一个带有 cityName/updatedOn 的 M_TAXI 索引。你没有那个,你只有一个具有五个属性的那种索引。它不想要一个包含五个属性的索引,它想要一个包含两个属性的索引。
-
@DanielRoseman 能否请您给出一些示例代码的答案,因为我仍然很困惑。
标签: java google-app-engine objectify