背景
最近刚学习了es,以前没有自己建过索引,这次体验了一下,然后使用java的API去存入数据和查询数据,插入问题不大,但是在搜索的时候发现在项目中已经对这个字段进行模糊查询,但是只有特定的值才能查到,比如我给一个索引字段添加了“不知道”这样一个字符串,但是,只有在我搜"不"的时候才能搜索到对应数据,"知道"和"知"甚至"不知道"这种去搜索都是搜索不到的
解决办法
我们每个字段都会有对应的type,我上述所说的字段使用的是text这个类型,而经过查找一些资料,发现只有type是keyword的模糊查询才可以类似于我们写sql时候的like,所以只需要把这个字段的属性从text换成keyword就可以了,而比较麻烦的是,我们已经建好的索引不能够直接进行属性替换,这时候重新建索引,再导入数据就OK了