问题描述
项目使用Elasticsearch作为搜索引擎,Kibana用来进行可视化操作,Kibana中有Dev tool可供用户使用REST ful API 访问Elasticsearch,在一次查询中,搜索结果与预期不符,预期是得到所有other_edu_tags字段包含“Editor”字符串的文档,但是实际结果是得到了该索引下的所有文档。
如图:
原因分析
1、一开始判断是搜索条件有问题,但是这个搜索条件之前是可以正确得到预期结果的,只是这次搜索的字段和内容不一样,初步判断不是语句的问题。
2、更换了其他匹配关键字match等进行搜索,依然得到的是所有的文档,可以确定不是语句错误的问题。
3、最后经过查看Kibana源码,发现Dev tool在第一行为空的情况下,会导致第二行和以下的所有输入不被获取,所以搜索条件实际是:所有该索引下的文档,与实际结果相符。
解决方案
删除第一空行,得到与预期相符的结果,如图: