记一次配置es索引时遇到的坑,映射字段类型变成Fields。keyword变成text

es版本:6.5.4

如题,最近做项目时遇到这样一个问题。

本来配置的索引应该是:

在这里插入图片描述

通过esTemplate创建index和type之后,变成了这样:

在这里插入图片描述

本应该是type:keyword的字段变成了fields:{}…
导致:搜索查询不准确,通过esRepository的一些方法,比如根据某个分类id删除数据的方法deleteByFirstCategoryId()之类的方法无效了。

经过本地es和公司服务器的es配置发现:
公司的es没有配置ik分词器,导致在put mapping的时候失败了,而这个时候有数据往es里添加的时候,就会创建一些莫名其妙的字段类型。
因为我这里配置了ik_max_word细粒度分词,而es里没有配置ik分词器插件的话就出问题了。

因此es里配上和es版本一样的ik分词器,再重新创建索引库,解决了这个问题。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章