在開發的時候,咱們可能會寫到上百行的查詢語句,若是出錯的話,找起來很麻煩,Elasticsearch提供了幫助開發人員定位不合法的查詢的api——validate。sql
示例:json
1GET test_index/test_type/_validate/query?explain
2{
3 "query": {
4 "match1": {
5 "test_field": "test"
6 }
7 }
8}
複製代碼
返回:api
1{
2 "valid": false,
3 "error": "org.elasticsearch.common.ParsingException: no [query] registered for [match1]"
4}
複製代碼
在查詢時,不當心把 match
寫成了 match1
,經過 validate api 能夠清楚的看到錯誤緣由。app
正確查詢返回:elasticsearch
1{
2 "valid": true,
3 "_shards": {
4 "total": 1,
5 "successful": 1,
6 "failed": 0
7 },
8 "explanations": [
9 {
10 "index": "test_index",
11 "valid": true,
12 "explanation": "+test_field:test #_type:test_type"
13 }
14 ]
15}
複製代碼