Elasticsearch(es)使用termQuery不能正确搜索到字段内的值
最近在使用es的过程中,发现了一个问题:使用termQuery搜索String类型的字段,无法成功匹配到对应的值。文章的前半部分是重现这个问题,想跳过看解决办法的,请直接进入后半部分。
以下所有内容基于es版本为7.4而作。
问题复现
-
首先构建一个索引。
![创建索引](https://i-blog.csdnimg.cn/blog_migrate/5debd7949ad9cd9de03a8f4bd342df7a.png)
-
向索引中添加4条document。
![插入数据](https://i-blog.csdnimg.cn/blog_migrate/8f13927d94332dc21560b6d2136ddf31.png)
-
上图可以看出,已经成功添加了四条记录了。我们先使用match去搜索数据,可以发现搜索结果符合预期(其余两条我隐藏了,否则截图放不下)。