Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 谷歌应用引擎错误:找不到匹配的索引。(爪哇)_Java_Google App Engine_Jdo - Fatal编程技术网

Java 谷歌应用引擎错误:找不到匹配的索引。(爪哇)

Java 谷歌应用引擎错误:找不到匹配的索引。(爪哇),java,google-app-engine,jdo,Java,Google App Engine,Jdo,我正在写一个查询,但它总是说“找不到匹配的索引”。我不知道为什么。我的代码如下: Query query = pm.newQuery(Classified.class); query.setFilter("emp_Id == emp"); query.setOrdering("upload_date desc"); query.declareParameters("String emp"); List<Classified> results = (List<Classified

我正在写一个查询,但它总是说“找不到匹配的索引”。我不知道为什么。我的代码如下:

Query query = pm.newQuery(Classified.class);
query.setFilter("emp_Id == emp");
query.setOrdering("upload_date desc");
query.declareParameters("String emp");
List<Classified> results = (List<Classified>)query.execute(session.getAttribute("emp_Id").toString()); 
Query Query=pm.newQuery(Classified.class);
setFilter(“emp_Id==emp”);
query.setOrdering(“上传日期描述”);
查询.申报参数(“字符串emp”);
List results=(List)query.execute(session.getAttribute(“emp_Id”).toString());



我已经添加了上面的索引,但没有帮助。

我认为您需要配置一个。在Eclipse中可能已经在
WEB-INF/appengine-generated/datastore-indexes auto.xml
为您生成了一个,您只需复制到
WEB-INF/datastore-indexes.xml
并再次部署即可。

我相信您需要配置一个。Eclipse中可能已经在
WEB-INF/appengine-generated/datastore-indexes auto.xml
为您生成了一个,您只需复制到
WEB-INF/datastore-indexes.xml
并重新部署即可。

您定义的索引必须按照返回的顺序保存所有可能的结果。您的查询要求特定的emp_Id,按上载日期排序,但您的索引主要按类别排序

尝试从索引定义中删除类别行,或交换
类别
上载日期
的顺序,以使
上载日期
成为索引的主要排序顺序。如果代码的另一部分依赖于类别行,则可能必须创建两个单独的索引(这会产生一些计算成本)


编辑:见下面尼克·约翰逊的评论。额外参数。

您定义的索引必须按返回顺序保存所有可能的结果。您的查询要求特定的emp_Id,按上载日期排序,但您的索引主要按类别排序

尝试从索引定义中删除类别行,或交换
类别
上载日期
的顺序,以使
上载日期
成为索引的主要排序顺序。如果代码的另一部分依赖于类别行,则可能必须创建两个单独的索引(这会产生一些计算成本)


编辑:见下面尼克·约翰逊的评论。额外参数。

因为这需要在internet上的某个地方

当我发现这件事时,我踢了自己 错误是您没有与查询要执行的操作相匹配的索引。每个实体可以有多个索引

在Logcat error中,它将确切地告诉您要设置什么索引以及元素需要的顺序

也就是说,如果错误表示需要(它的格式不会很好):


然后Project->war->WEB-INF->appengine generated->datastore-indexes-auto.xml并准确地添加它。然后,重新部署项目

接下来进入谷歌云控制台,查看数据存储->索引。它应该说索引正在准备中(如果您可以关闭所有连接的应用程序并关闭控制台中的实例,这会更快)

一旦它移到了其他索引列表中,重新运行应用程序,它就不会再在索引方面出错


去拿吧,先生们/女士们,因为这需要在互联网上的某个地方

当我发现这件事时,我踢了自己 错误是您没有与查询要执行的操作相匹配的索引。每个实体可以有多个索引

在Logcat error中,它将确切地告诉您要设置什么索引以及元素需要的顺序

也就是说,如果错误表示需要(它的格式不会很好):


然后Project->war->WEB-INF->appengine generated->datastore-indexes-auto.xml并准确地添加它。然后,重新部署项目

接下来进入谷歌云控制台,查看数据存储->索引。它应该说索引正在准备中(如果您可以关闭所有连接的应用程序并关闭控制台中的实例,这会更快)

一旦它移到了其他索引列表中,重新运行应用程序,它就不会再在索引方面出错


去吧,先生们/女士们

我在执行单个属性查询时遇到了这个问题,例如:

 const query = datastore
  .createQuery('Emailing_dev')
  .filter('status', '=', 'Scheduled')
在我的例子中,我不应该得到任何错误,但是我得到了错误9:没有找到匹配的索引

如果我在yaml中定义了两次单一属性索引,它将起作用:

indexes:
  - kind: Emailing_dev
    properties:
    - name: status
    - name: status

但这肯定是一个错误

我在执行单个属性查询时遇到了这个问题,例如:

 const query = datastore
  .createQuery('Emailing_dev')
  .filter('status', '=', 'Scheduled')
在我的例子中,我不应该得到任何错误,但是我得到了错误9:没有找到匹配的索引

如果我在yaml中定义了两次单一属性索引,它将起作用:

indexes:
  - kind: Emailing_dev
    properties:
    - name: status
    - name: status

但这肯定是一个错误

对于上面的查询或表格,您能否定义如何创建我在上面添加的数据存储索引,但没有帮助..您能帮我吗。。对于上面的查询或表格,您能否定义如何创建我在上面添加的数据存储索引,但没有帮助..您能帮我吗。。交换这两个属性没有帮助-App Engine无法使用包含查询中未使用的额外属性的索引。交换这两个属性没有帮助-App Engine无法使用包含查询中未使用的额外属性的索引。只需更新答案-不再使用xml文件,而是使用index.yaml。如本文所述:只是为了更新答案,不再使用xml文件,而是使用index.yaml。如下所述: