为Solr深度分页生成的光标标记是否具有确定性?

时间:2019-01-28 18:50:35

标签: solr

如果我使用Solr

query=q with cursorMarks='*'

并说,Solr遍历这些页面时会生成一系列光标标记

[CM1, CM2, CM3, ... , CM100]

如果我在CM3处停止Solr深度寻呼遍历,是否可以从CM4开始恢复它?简而言之,Solr生成的一系列cursorMarks-只要查询保持不变并且Solr文档的基础索引种群没有变化,它们是否具有确定性?

1 个答案:

答案 0 :(得分:0)

是,只要

  1. 您在查询中定义了一个排序(该排序在每次寻呼呼叫中都是固定的)
  2. 该排序具有一个确定性的决胜局(例如,唯一ID,但如果存在复制则不是SolrCloud环境中的文档ID)
  3. 正如您所说,基础索引文档没有更改

根据https://badrit.com/blog/2015/7/26/deep-paging-and-partial-index-export-in-solr#.XE9snc9KiNE

“深度分页取决于'cursor'概念,它是表示排序值的有序空间中逻辑点的Base64字符串”

这也是值得读的http://yonik.com/solr/paging-and-deep-paging/