配置项作用 #
async_search.max_search_running_time 配置项限制异步搜索请求的最长运行时间。当异步搜索的运行时间超过此限制时,搜索将被自动终止,以防止长时间运行的搜索消耗过多资源。
配置项类型 #
该配置项为动态配置,可以在运行时通过集群更新 API 进行修改,无需重启节点。
默认值 #
12h(12小时)
是否必需 #
可选配置项
取值范围 #
正数时间值(如 1m、1h、24h 等)
工作原理 #
异步搜索允许长时间运行的查询在后台执行。该配置项作为安全机制,防止搜索无限期运行:
- 运行时间计算:从搜索开始执行到当前时间的持续时间
- 超时检查:活跃上下文清理器定期检查运行时间
- 自动终止:超过限制的搜索会被自动取消并释放资源
- 状态更新:被终止的搜索状态会标记为超时
使用示例 #
# 默认配置(12小时)
async_search.max_search_running_time: 12h
# 缩短超时时间(3小时)
async_search.max_search_running_time: 3h
# 延长超时时间(24小时)
async_search.max_search_running_time: 24h
# 设置为1小时
async_search.max_search_running_time: 1h
推荐设置建议 #
生产环境建议:根据实际业务查询特点设置
推荐配置:
# 短查询为主(1-3小时)
async_search.max_search_running_time: 3h
# 中等复杂度查询(6-12小时)
async_search.max_search_running_time: 12h
# 复杂聚合分析(12-24小时)
async_search.max_search_running_time: 24h
设置考虑因素:
- 查询复杂度:聚合、关联等复杂查询需要更长时间
- 数据量:大规模数据集的扫描和聚合耗时较长
- 资源保护:防止异常查询长时间占用资源
- 业务需求:确保合理的查询能在时限内完成
相关配置项 #
| 配置项 | 作用 | 默认值 |
|---|---|---|
async_search.max_keep_alive | 结果最大保留时间 | 5天 |
async_search.active.context.reaper_interval | 活跃上下文清理间隔 | 5分钟 |
async_search.node_concurrent_running_searches | 并发搜索数量限制 | 20 |
搜索超时状态 #
当搜索超过最大运行时间时,异步搜索的状态将变为:
{
"id": "Fm_QRn8BRiWfSeIP-2Xk7A",
"status": "cancelled",
"error": {
"type": "search_context_execution_exception",
"reason": "Search was cancelled as it ran longer than the maximum allowed time [12h]"
}
}
超时检查机制 #
┌─────────────────────────────────────────────────────────┐
│ Async Search Started │
└─────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ Active Context Reaper (每5分钟) │
│ 检查: 当前时间 - 开始时间 > max_search_running_time? │
└─────────────────────────────────────────────────────────┘
│
┌───────────┴───────────┐
│ Yes │ No
▼ ▼
┌───────────────────┐ ┌──────────────────────┐
│ 搜索被终止 │ │ 搜索继续执行 │
│ 释放资源 │ │ 等待下次检查 │
└───────────────────┘ └──────────────────────┘
注意事项 #
- 动态更新:修改此配置后立即生效,影响所有正在运行的异步搜索
- 与 keep_alive 的区别:
max_search_running_time:控制搜索执行的最长时间max_keep_alive:控制搜索结果保存的最长时间
- 资源释放:超时的搜索会被活跃上下文清理器清理,释放相关资源
- 监控建议:建议监控异步搜索的运行时间分布,根据实际情况调整此参数
- 合理设置:设置过短可能导致正常查询被意外终止,设置过长则无法有效保护资源





