Я отвечаю от ndb
перспективных, я не использовал API поиска. Все цитаты из вашей первой ссылки.
в течение 1 и 3 (как упорядочение рассматривается как часть первоначального запроса от курсоров перспективного):
Для загрузки дополнительных результатов с точкой курсора, то приложение подготавливает подобный запрос с тем же сущность рода, фильтры и сортировки заказов, и передает указатель на метод в запросе with_cursor() перед выполнением извлечения
Так что на самом деле не важно, сколько лет находится курсор (т.е. сколько лет его запрос есть), поскольку его исходный запрос должен быть восстановлен для получения курсора.
Для 2:
Курсоры и обновления данных
Позиция курсора определяется как место в списке результатов после последнего возвращаемый результат. Курсор не является относительным положением в списке (это не смещение); это маркер, на который Cloud Datastore может прыгать при запуске сканирования индекса для результатов. Если результаты запроса изменяются между использованием курсора, уведомления о запросе меняют только , которые появляются в результатах после курсора. Если перед появился новый результат, позиция курсора для запроса не будет возвращена, когда результаты будут получены после ввода курсора. Точно так же, если объект не дольше результат для запроса, но появился перед курсором, результаты , которые появляются после того, как курсор не изменяется. Если последний результат возвращен, удаляется из результирующего набора, курсор все еще знает, как найти следующий результат.
При получении результатов запроса вы можете использовать как курсор начала, так и конечный курсор , чтобы возвращать непрерывную группу результатов из облака. Datastore. При использовании начального и конечного курсора для получения результатов вам не гарантируется, что размер результатов будет таким же , как при создании курсоров. Объекты могут быть добавлены или удалены из облачного хранилища данных между временем создания курсоров и , когда они используются в запросе.
Java-эквивалент страницы в Limitations of cursors упоминает некоторые ошибки, которые могут быть подняты на несоответствие:
New App Engine релизы может изменить внутренние детали реализации, недействительности курсоров, которые зависят от них. Если приложение пытается использовать для использования курсора, который больше не действителен, Cloud Datastore создает IllegalArgumentException
(низкоуровневый API), JDOFatalUserException
(JDO) или PersistenceException
(JPA).
Я подозреваемый Python будет повышение некоторых подобных ошибок, а также.
некоторые из них находятся в подробных статьях приложения в своем блоге. согласитесь, это должно быть также в документах. –