ElasticSearch入门玩转大数据elasticsearch

五十、Elasticsearch初识搜索引擎-如何定位不合法的搜

2017-07-10  本文已影响83人  编程界的小学生

本篇讲一个小技巧

比如你写了七八十行的语句,运行发现报错了,这时候你也不知道为什么会错,哪里错了。可以借助_validate api来验证。

具体写法如下:

GET /test_index/test_type/_validate/query?explain
{
  "query" : {
    "math" : {
      "test_field" : "test"
    }
  }
}

重点在于
/_validate/query?explain

想验证哪个语句,就在其后追加/_validate/query?explain即可。

运行结果:

{
  "valid": false,
  "error": "org.elasticsearch.common.ParsingException: no [query] registered for [math]"
}

很明白的告诉我们,写错单词了,应该写match,而不是math

修正后

GET /test_index/test_type/_validate/query?explain
{
  "query" : {
    "match" : {
      "test_field" : "test"
    }
  }
}

再看结果

{
  "valid": true,
  "_shards": {
    "total": 1,
    "successful": 1,
    "failed": 0
  },
  "explanations": [
    {
      "index": "test_index",
      "valid": true,
      "explanation": "+test_field:test #(#_type:test_type)"
    }
  ]
}

valid:true,验证成功。

若有兴趣,欢迎来加入群,【Java初学者学习交流群】:458430385,此群有Java开发人员、UI设计人员和前端工程师。有问必答,共同探讨学习,一起进步!
欢迎关注我的微信公众号【Java码农社区】,会定时推送各种干货:


qrcode_for_gh_577b64e73701_258.jpg
上一篇 下一篇

猜你喜欢

热点阅读