首页/数据/NoSQL 速查/sort 排序与 from/size 分页
Elasticsearch89 条

sort 排序与 from/size 分页

搜索默认按 _score 相关度排序,也可指定字段排序(支持 order、missing、mode);from+size 分页受 index.max_result_window 限制,默认最多取到一万条。

NoSQL 速查数据更新于 2026-10-12
排序写法"sort": [ { "date": "desc" }, "_score" ]
字段排序限制text 字段不能直接排序,要用 keyword 子字段
分页上限from + size 不超过 index.max_result_window(默认 10000)

示例

示例
GET /my-index/_search
{
  "from": 20,
  "size": 10,
  "sort": [
    { "publish_date": { "order": "desc", "missing": "_last" } },
    { "_score": "desc" }
  ],
  "track_total_hits": true
}
track_total_hits 默认只统计到 10000 就返回 gte,需要精确总数时显式设为 true;深分页改用 search_after。

易错点

  • 数组字段上的排序默认取最小值(min 模式),多值语义要显式设置 mode
  • 字段排序会触发 doc_values 读取,对纯过滤型大字段排序代价高,先缩小查询范围再排

数据来源与参考

  • Elasticsearch Guide: Sort search results
  • Elasticsearch Guide: Paginate search results
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌