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

2022-07-22 09:35:16

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分词器,再重新创建索引库,解决了这个问题。

  • 作者:honeyCloud1988
  • 原文链接:https://blog.csdn.net/weixin_42982636/article/details/103455525
    更新时间:2022-07-22 09:35:16