我一直在尝试使用Query.setOrdering(xxxx desc),但AppEngine给出了ServerError:无法处理请求。
管理控制台:
com.google.appengine.api.datastore.DatastoreNeedIndexException: no matching index found.
The suggested index for this query is:
<datastore-index kind="Chat_messages" ancestor="false" source="manual">
<property name="FROM_TO" direction="asc"/>
<property name="TIME" direction="desc"/>
</datastore-index>
我在servlet中的代码:
Query q=pm.newQuery(Chat_messages.class);
q.setFilter("FROM_TO == email_emailto || FROM_TO == emailto_email");
q.declareParameters("String email_emailto,String emailto_email");
q.setRange(0, 50);
q.setOrdering("TIME desc");
答案 0 :(得分:0)
使用Python运行时,使用dev服务器在本地运行应用程序的过程会生成索引文件。
答案 1 :(得分:0)
您实际上是否收到有关没有正确索引的错误?您放入datastore-index.xml的索引是单个属性索引。这意味着它由数据存储区自动构建,不会显示在您的控制台中。
您可以看到this page,其中描述了您可以执行哪些查询而无需上传任何索引。