Appengine Search API - InvalidRequest

时间:2017-03-03 16:46:27

标签: python google-app-engine gae-search

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

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

有时我会随机获得以下异常:

  

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

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

  1. 项目集在请求之间是不可变的(没有添加或删除项目)
  2. 查询的第一页始终正常(仅当我使用游标查询时才会发生异常)
  3. 我没有使用任何排序
  4. 游标与先前查询收到的游标完全相同,并且在请求之间没有损坏
  5. 任何想法如何解决这个问题?

    相关:

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

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

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

    What does this error message mean in appengine?

1 个答案:

答案 0 :(得分:1)

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

  1. 首先请求“A = 1 AND B = 2”并接收< cursor>
  2. 使用< cursor>制作第二个请求“A = 1 AND B = 2” - 工作正常
  3. 使用< cursor>制作第二个请求“B = 2 AND A = 1” - 相同的请求,但参数顺序与原始查询不匹配 - InvalidRequest没有解释。