2016-04-19 8 views
1

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"]) 

私が持っている問題は、カーソルのないページがあるだろうので、それはその直後に停止することは古いカーソルを使用して開始するページ300による1,000ページ、があるだろうということです。

答えて

3

ブラウズ方法のカーソルは、objectIDとインデックス内の位置を使用してコンテンツを表示します。インデックス作成操作を同時に実行すると、インデックス内のカーソルの現在の位置を移動または削除できます。

objectIDが削除された場合、またはブラウズ中に内部データ構造がエンジンによって最適化された場合、エンジンは劣化モードでブラウズを継続し、応答内に警告メッセージを返します。その場合、一部のレコードをスキップするか、索引付け操作に応じていくつかのレコードを2回取り出すことができます。

インデックスを正確に参照するには、インデックスを一時インデックスにコピーし、インデックス作成操作なしでこのインデックスのbrowseメソッドを使用する必要があります。

関連する問題