Elasticsearch 的 explain 用于检查查询中的错误,一般用在那种特别复杂庞大的搜索下,比如一下子写了上百行的搜索,这个时候可以先用 validate api 去验证一下,搜索是否合法。
GET /indexname/_validate/query?explain { "query": { "match": { "test_field": "test" } } }
我们使用了 explain 验证,查询是否合法。
我们在 Kibana 的控制台上,输入以下代码,新建一个文档:
PUT /haicodernet/_doc/1 { "index":"www.haicoder.net", "name" : "javascript", "desc" : "javascript module", "categorys" : 5, "author" : "jobs steven", "tags": [ "javascript", "vue" ] }
输入完成后,我们点击运行按钮,输出了最终的运行结果,如下图所示:
我们看到,此时我们创建文档成功了,现在,我们使用 explain 校验查询的合法性,代码如下:
GET /haicodernet/_validate/query?explain { "query": { "match": { "name" : "javascript" } } }
输入完成后,我们点击运行按钮,输出了最终的运行结果,如下图所示:
我们看到,输出了查询的合法。
Elasticsearch 的 explain 用于检查查询中的错误,一般用在那种特别复杂庞大的搜索下,比如一下子写了上百行的搜索,这个时候可以先用 validate api 去验证一下,搜索是否合法。