Elasticsearch——定位不合法的查詢

在開發的時候,咱們可能會寫到上百行的查詢語句,若是出錯的話,找起來很麻煩,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}
複製代碼
相關文章
相關標籤/搜索