主要知识点
- _validate
假设写了一个很长的搜索语句,在执行这条语句之前应先验证搜索是否合法,是否有错误。
语法:
GET /index/type/_validate/query?explain
{搜索语句体}
示例
GET /company/employee/_validate/query?explain
{
"query":{
"math_all":{}
}
}
执行结果:
{
"valid": false,
"error": "org.elasticsearch.common.ParsingException: no [query] registered for [math_all]"
}
这就说明这条语句不合法,要重新修改。一般用在那种特别复杂庞大的搜索下,比如你一下子写了上百行的搜索,这个时候可以先用validate api先去验证一下,无错误后再到es中去执行搜索。