为什么这个错误发生 #
search_context_missing_exception 表示搜索上下文不存在,通常发生在使用 scroll 时上下文已过期。
如何修复 #
1. 重新执行搜索 #
POST /<index>/_search?scroll=1m
{
"size": 100,
"query": { "match_all": {} }
}
2. 使用更长的 scroll 时间 #
POST /<index>/_search?scroll=5m
3. 使用 search_after 代替 scroll #
GET /<index>/_search
{
"size": 100,
"query": { "match_all": {} },
"sort": [{"_id": "asc"}],
"search_after": [<last_id>]
}
预防措施 #
- 使用合理的 scroll 超时时间
- 及时清理 scroll 上下文
- 考虑使用 search_after 或 PIT





