使用spring-data-elasticsearch时出现INDEX_CONTENT_TYPE异常问题解决

最近在项目中集成Es时使用spring-data-elasticsearch来操作es
执行下面这段代码:

EsUserFile esUserFile = new EsUserFile();
        esUserFile.setFileId(1895139699723743232L);
        esUserFile.setUserId(1877941435017703424L);
        esUserFile.setParentId(1895133507681136640L);
        esUserFile.setFilename("测试4");
        esUserFile.setFileSizeDesc("--");
        esUserFile.setDelFlag(0);
        esUserFile.setFolderFlag(1);
        esUserFile.setFileType(0);
        esUserFile.setUpdateTime(new Date());
        restTemplate.save(esUserFile,IndexCoordinates.of("nebula_user_file"));

出现了下面的异常:
在这里插入图片描述
按道理来说这个问题是很容易解决的,因为出现这个错误一般就是spring-data-elasticsearch 版本与spring boot版本不一致导致的,但是经过排查我的版本依赖是绝对没有问题的。我使用的是 spring boot 2.7.5,然后spring-data-elasticsearch是4.3.10。我甚至切换了很多个版本进行尝试,但是最终都会出现这个异常,这让我掉了不少头发,最终发现问题出在父 pom 文件中。
在这里插入图片描述
在我的父pom文件中定义了一个elasticsearch的版本号,但是这里只是定义了版本号并没有引入对应的依赖坐标,但是居然就是这个原因导致的问题,很不可思意。
在这里插入图片描述
然后点开spring-data-elasticsearch 发现elasticsearch的版本本来应该是7.15.2才是正确的,但是现在居然是7.12.1,看来是由于我们在父pom中定义的elasticsearch.version覆盖了这个版本。
最后将父pom中的这个熟悉删除就能解决这个异常问题了。

INDEX_CONTENT_TYPE问题常见解决方案

在使用spring-data-elasticsearch时出现这个问题不要慌,这个问题出现一定是说明spring-data-elasticsearch版本和springboot版本不兼容导致的,多尝试更换几个版本就能解决,我使用springboot2.7.5,spring-data-elasticsearch4.3.x的版本都能兼容,上了4.4.x就不能兼容了,对了我使用的es版本是7.17.9

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值