Запрос по нескольким doc_id в Google App Engine Search API

Я хочу получить список документов из списка doc_ids. Что-то похожее на выполнение следующего в SQL:

SELECT * FROM Documents WHERE id IN (1,2,3,167,91)

Я вижу этот метод в документации, но он извлекает только единый документ. Для эффективности я хочу сделать пакетный поиск. Это возможно?


person crunk1    schedule 04.01.2017    source источник


Ответы (1)


Я не думаю, что существует пакетная функция get, но есть асинхронная версия (поиск https://cloud.google.com/appengine/docs/python/refdocs/google.appengine.api.search.search для get_async), поэтому вы можете сделать что-то вроде (непроверенный псевдокод):

# query for docs ids in advance
futures = []
for id_ in doc_ids:
    futures.append(index.get_async(id_))

# dereference the futures when you need them
ids = [x.get_result() for x in futures]
person snakecharmerb    schedule 04.01.2017