首页/数据/NoSQL 速查/_explain 解读单文档得分
Elasticsearch89 条

_explain 解读单文档得分

_explain 返回指定文档对某查询的得分推导过程:哪个字段、哪个词条贡献了多少分,是排查排序异常与查询无命中的直接手段。

NoSQL 速查数据更新于 2026-10-12
接口GET /<index>/_explain/<id>,请求体写 query
返回matched 是否命中 + value 得分 + description 逐层解释
便捷用法search 里加 "explain": true 可对每条命中附带解释

示例

示例
GET /my-index/_explain/1
{
  "query": { "match": { "message": "search" } }
}

GET /my-index/_search
{ "explain": true, "query": { "match": { "message": "search" } } }
得分解释的字段名与查询结构对应,读到 tf/idf/boost 的层级即可定位是哪一步把分数拉开。

易错点

  • 文档不存在时返回 found: false 而不是错误,调试前先确认 ID 正确
  • explain: true 会让响应显著变大,只在小批量排查时打开

数据来源与参考

  • Elasticsearch Guide: Explain API
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌