我需要使用Python App Engine SDK循环访问最大量的全文搜索结果。我的代码目前如下:
search_index = search.Index(name="fullText")
indexed_results = search_index.search(search_query)
for scored_document in indexed_results:
hits_from_full_text_search.append(scored_document.doc_id)
我可以看到应该使用cursor class,但我不确定如何调整我的上述查询以在游标存在时连续循环。
根据我当前的数据大小,我预计不需要循环多次,因此它应该保持在GAE过程超时限制内。
答案 0 :(得分:0)
This answer帮助我提出了以下解决方案:
cursor = search.Cursor()
search_index = search.Index(name="fullText")
while cursor != None:
options = search.QueryOptions(limit=5, cursor=cursor)
indexed_results = search_index.search(
search.Query(query_string=search_query, options=options))
cursor=indexed_results.cursor
for scored_document in indexed_results:
hits_from_full_text_search.append(scored_document.doc_id)