1.ES提供了定位不合法搜索查询的原因
语法
GET /index/type/_validate/query?explain
{
}
例子:
GET /test_index/test_type/_validate/query?explain
{
"query":{
"matah":{
"test_field":"haha"
}
}
}
执行结果:提示了没用matah这种语法
{
"valid": false,
"error": "org.elasticsearch.common.ParsingException: no [query] registered for [matah]"
}
修改成match后,再次执行:
{
"valid": true,
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"explanations": [
{
"index": "test_index",
"valid": true,
"explanation": "+test_field:test #(#_type:test_type)"
}
]
}
语法
GET /index/type/_validate/query?explain
{
}
例子:
GET /test_index/test_type/_validate/query?explain
{
"query":{
"matah":{
"test_field":"haha"
}
}
}
执行结果:提示了没用matah这种语法
{
"valid": false,
"error": "org.elasticsearch.common.ParsingException: no [query] registered for [matah]"
}
修改成match后,再次执行:
{
"valid": true,
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"explanations": [
{
"index": "test_index",
"valid": true,
"explanation": "+test_field:test #(#_type:test_type)"
}
]
}