| 原理 | 携带上一页末尾的 sort 值继续查询,不计算前面所有页 |
|---|---|
| 必要条件 | 排序键组合全局稳定且唯一,推荐业务时间 + _id |
| 限制 | 不能跳页,只能顺序向后翻 |
示例
示例
# 首页
GET /my-index/_search
{
"size": 10,
"sort": [ { "publish_date": "desc" }, { "_id": "asc" } ],
"query": { "range": { "publish_date": { "gte": "2024-01-01" } } }
}
# 下一页:把上一页最后一条的 sort 值依次填入
GET /my-index/_search
{
"size": 10,
"sort": [ { "publish_date": "desc" }, { "_id": "asc" } ],
"search_after": [1719792000000, "doc-42"]
}配合 PIT 使用时用 _shard_doc 作为兜底排序键,可以在翻页期间给索引一个稳定视图。