天天看點

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;
           

問題解決。