solr - 为 Solr 深度分页生成的光标标记是否确定?
问题描述
如果我使用 Solr
query=q with cursorMarks='*'
可以说,当我遍历这些页面时,Solr 会生成一系列光标标记
[CM1, CM2, CM3, ... , CM100]
.
如果我在 CM3 停止我的 Solr 深度分页遍历,我是否能够从 CM4 开始恢复它?简而言之,Solr 生成的一系列 cursorMarks - 只要查询保持不变并且 Solr 文档的基础索引群体没有改变,它们是否是确定性的?
解决方案
是的,只要
- 您在查询中定义了一个排序(并且该排序在每个寻呼调用中都是固定的)
- 排序有一个本身是确定性的决胜局(例如,如果存在复制,则在 SolrCloud 环境中是唯一 ID 但不是文档 ID)
- 正如你所说,基础索引文件没有改变
根据https://badrit.com/blog/2015/7/26/deep-paging-and-partial-index-export-in-solr#.XE9snc9KiNE
“深度分页取决于‘光标’概念,它是一个 Base64 字符串,表示排序值的有序空间中的一个逻辑点”
推荐阅读
- azure - 检索 Microsoft Azure 应用服务存储的配额
- image-processing - 如何计算/确定给定形状的圆的百分比/部分(很可能是部分圆)
- terraform - 如何获取导入的 aws_db_instance 的 ARN?
- javascript - 如何使用 es6-Promise 执行顺序并行任务?
- mysql - Logstash jdbc 无法连接到 MySQL 数据库
- javascript - object[htmltablelement] 代替表格 html 的字符串
- swift - SwiftUI - 如何将选择添加到 TabView
- python - PyTorch:如何从 LSTM 获取数据
- excel - 将表格中的内部颜色存储到数组中
- docker - Vagrant 无法连接到本地主机