AppEngine - 没有索引服务

时间:2014-06-02 09:07:03

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

我一直在尝试使用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");

2 个答案:

答案 0 :(得分:0)

使用Python运行时,使用dev服务器在本地运行应用程序的过程会生成索引文件。

答案 1 :(得分:0)

您实际上是否收到有关没有正确索引的错误?您放入datastore-index.xml的索引是单个属性索引。这意味着它由数据存储区自动构建,不会显示在您的控制台中。

您可以看到this page,其中描述了您可以执行哪些查询而无需上传任何索引。