天天看点

ElasticSearch创建索引:ElasticsearchStatusException[Elasticsearch exception [type=mapper_parsing_exceptio问题描述原因分析解决方案

问题描述

最近跟黑马程序员的视频教程学习ES,版本是ES7.12.1,使用Java RestClient新建索引库时报错:

ElasticsearchStatusException[Elasticsearch exception [type=mapper_parsing_exception …………

而且在使用IndicesClient indices的create方法时会提示:deprecated,说明该方法被弃用。

原因分析

进入这个被弃用的方法:

ElasticSearch创建索引:ElasticsearchStatusException[Elasticsearch exception [type=mapper_parsing_exceptio问题描述原因分析解决方案

源码里说明了该方法为何被抛弃,以及被抛弃的原因。简单说来就是有一个新方法,该新方法的入参改成了一个新的类型。

然后找到该新方法,发现它的类型名和弃用方法一致,但是引用的包却不一样:

ElasticSearch创建索引:ElasticsearchStatusException[Elasticsearch exception [type=mapper_parsing_exceptio问题描述原因分析解决方案

解决方案

注释掉被弃用的import类型,换成新方法的那个类型:

//import org.elasticsearch.action.admin.indices.create.CreateIndexRequest;
import org.elasticsearch.client.indices.CreateIndexRequest;
           

问题解决。