• 欢迎访问开享网

springboot中使用elasticsearch7.2.0数据格式异常

java 4个月前 (11-01) 263次浏览 已收录 0个评论 扫描二维码

问题描述

在springboot(版本2.1.1.RELEASE)中使用elasticsearch(版本7.2.0)
引用驱动(maven)

<dependency>
    <groupId>org.elasticsearch</groupId>
    <artifactId>elasticsearch</artifactId>
    <version>7.2.0</version>
</dependency>
<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-high-level-client</artifactId>
    <version>7.2.0</version>
</dependency>

在执行如下代码时

BulkRequest bulkRequest=new BulkRequest();
for(Map<String,Object> map:list){
    bulkRequest.add(new UpdateRequest()
            .index(index)
            .id(id)
            .doc(map)
            .upsert(map));
}

抛出异常:java.lang.IllegalArgumentException: cannot write xcontent for unknown value of type class java.math.BigDecimal

elasticsearc7.2.0已经支持了java的BigDecimal类型,那为什么还是出现这个错误呢?

在查看项目依赖后,发现虽然pom中引用的elasticsearch驱动是7.2.0版本,但是依赖中显示的却是6.4.3版本,而这个版本并不支持java的BigDecimal类型。

解决方案

在pom文件中加入elasticsearch的版本声明,即可解决

<properties>
    <elasticsearch.version>7.2.0</elasticsearch.version>
</properties>

注:声明的版本号要与上面引用的驱动版本号保持一致。


开享网 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:springboot中使用elasticsearch7.2.0数据格式异常
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址