你如何刷新algolia指数中的游标?

时间:2016-04-19 15:44:35

标签: python python-3.x algolia

使用browse_from和游标迭代索引,我发现在某些页面上(通常可以被100整除),会返回一个警告"光标基于旧版本索引。"

r = index.browse_from({'hitsPerPage':1000,'attributesToRetrieve':['objectID']})
p = res["nbPages"]
this_r = {"cursor": None} # get first page
for i in range(p):
    this_r = index.browse_from({'hitsPerPage':1000,'attributesToRetrieve':['objectID']}, this_r["cursor"])

我遇到的问题是会有1,000页,第300页它将开始使用旧光标,然后它会在不久之后停止,因为会有一个没有光标的页面。

1 个答案:

答案 0 :(得分:3)

browse方法的光标使用objectID和索引中的位置列出内容。如果同时执行索引操作,则可以在索引中移动或删除光标的当前位置。

如果在浏览期间删除了objectID或引擎优化了内部数据结构,则引擎将继续以降级模式进行浏览,并在响应中返回警告消息。在这种情况下,可以跳过某些记录,或者根据索引操作可以检索两次记录。

如果要对索引执行精确浏览,则需要将其复制到临时索引并对此索引使用browse方法,而不进行索引操作。