kibana get 查询失效

kibana版本:5.4 

在使用kibana 查询数据时,如果我们根据数据id 来获得一条数据,写法

get 索引名称/类型名称/文档主键 
如:get testindex/testtype/01

 这样就可以获取主键编号为01 的数据,可是有时候我们不知道主键,根据其他字段来进行全文搜索时,就需要写一些复杂的DSL查询语言,如下:

get testindex/inc/_search
{
  "query": {
    "match": {
      "IncCName": "潮州市 有限公司"
    }
  }
}  

 实际执行的时候,发现并没有任何的结果,是不是很坑,同样是get查询,这样就不行;

然后我们用验证查询API来查看下我们的DSL执行过程,验证代码如下:

get 索引/类型/_validate/query?explain
{
  "query":{
    "match": {
      "IncName": "潮州市 有限公司"
    }
  }
}

 发现这个查询并没有匹配到任何的字段信息,如下图:

由此可见,kibana并没有成功识别到我们的这段DSL查询代码;

 

解决方案:把get 调整为大写 GET ,然后在执行验证查询API,如下图:

这样,就可以看到,匹配到字段incname,然后对潮州市 有限公司进行的分词,用这些分词去匹配所有的结果,返回包含这些词的结果值。

  

 

posted @ 2018-11-30 10:55  好奇未必害死猫  阅读(1322)  评论(0编辑  收藏  举报