使用spring-data-elasticsearch时出现INDEX_CONTENT_TYPE异常问题解决
最近在项目中集成Es时使用spring-data-elasticsearch来操作es出现了INDEX_CONTENT_TYPE异常:按道理来说这个问题是很容易解决的,因为出现这个错误一般就是版本与spring boot版本不一致导致的,但是经过排查我的版本依赖是绝对没有问题的。我使用的是 spring boot 2.7.5,然后是4.3.10。我甚至切换了很多个版本进行尝试,但是最终都会出现这个
最近在项目中集成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

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)