Я использую 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: не удалось выполнить поисковый запрос "‹search query>"
без дальнейших подробностей. Если я получу его в середине какого-то запроса, он будет воспроизводиться вечно с таким курсором.
- Набор элементов неизменен между запросами (элементы не добавляются и не удаляются)
- Первая страница запроса всегда в порядке (исключение возникает, только если я запрашиваю с помощью курсора)
- Я не использую сортировку
- Курсоры точно такие же, как полученные предыдущим запросом, и не повреждаются между запросами.
Есть идеи, как это решить?
Связанный:
https://issuetracker.google.com/issues/35898069
https://issuetracker.google.com/issues/35895008
https://groups.google.com/forum/#!topic/google-appengine/tBHkZLeYTOI