首页/数据/NoSQL 速查/_validate/query 校验查询语法
Elasticsearch89 条

_validate/query 校验查询语法

_validate/query 提前校验查询结构是否合法并可返回重写后的执行计划(explain),适合在工具链里做查询自检,避免线上才暴露语法错误。

NoSQL 速查数据更新于 2026-10-12
接口GET /<index>/_validate/query 或 /_validate/query?explain=true
返回valid 布尔值;带 explain 时返回 _shards 与详细的 rewritten 查询

示例

示例
GET /my-index/_validate/query?explain=true
{
  "query": { "match": { "title": "test" } }
}
与直接用 search 相比,validate 不读取数据、开销低,适合在生成查询后立即校验。

易错点

  • 校验通过只代表结构合法,字段名写错仍可能返回 valid: true 但没有命中
  • 带 explain 的输出会做查询重写,空索引与有数据的索引计划可能不同

数据来源与参考

  • Elasticsearch Guide: Validate API
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌