You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调整index.max_result_window后hits.total仍显示10000,如何获取真实总数?

解决Elasticsearch hits.total显示不真实结果数的问题

你已经调高了index.max_result_window,但hits.total仍显示10000,是因为Elasticsearch默认不会精确统计超过10000条的结果数,而是返回"total": {"value": 10000, "relation": "gte"},以此表示结果数大于等于10000。要获取精确的真实结果数,需在查询时添加track_total_hits参数:

具体操作

  • 若要精确统计所有结果,在查询体中设置track_total_hits: true,示例请求:
GET /your_index/_search
{
  "track_total_hits": true,
  "query": {
    "match_all": {}
  },
  "from": 10000,
  "size": 100
}
  • 若只需精确统计到某个更大的阈值(比如50000),可设置track_total_hits: 50000,此时ES会精确统计50000以内的结果数,超过该数值则仍返回gte标识。

注意:精确统计大量结果会消耗更多系统资源,数据量极大时需结合业务需求权衡使用。

内容的提问来源于stack exchange,提问作者EnlightenedMonk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 18:12:39