1

我正在使用搜索 API(在 Google App Engine Python 标准环境中使用 Search API ( https://cloud.google.com/appengine/docs/standard/python/search/ )。

在我的应用程序中,我有几个搜索索引并使用光标分页查询它们(分页分页不能返回超过 1000 个结果) https://cloud.google.com/appengine/docs/standard/python/search/cursorclass

有时我随机得到以下异常:

InvalidRequest:无法执行搜索请求“<搜索查询>”

没有进一步的细节。如果我在某些查询中得到它,它将永远用这样的光标重现。

  1. 项目集在请求之间是不可变的(不添加或删除项目)
  2. 查询的第一页总是好的(只有当我用光标查询时才会出现异常)
  3. 我没有使用任何排序
  4. 游标与先前查询收到的完全相同,并且在请求之间没有损坏

任何想法如何解决这个问题?

有关的:

https://issuetracker.google.com/issues/35898069

https://issuetracker.google.com/issues/35895008

https://groups.google.com/forum/#!topic/google-appengine/tBHkZLeYTOI

此错误消息在 appengine 中是什么意思?

4

1 回答 1

1

最后,我们能够找出导致随机错误的原因。

  1. 发出第一个请求“A=1 AND B=2”并接收 <cursor>
  2. 使用 <cursor> "A=1 AND B=2" 发出第二个请求 - 工作正常
  3. 使用 <cursor> "B=2 AND A=1" 发出第二个请求 - 相同的请求,但参数顺序与原始查询不匹配 - InvalidRequest 没有解释。
于 2017-03-24T09:46:13.410 回答