問題描述
最近跟黑馬程式員的視訊教程學習ES,版本是ES7.12.1,使用Java RestClient建立索引庫時報錯:
ElasticsearchStatusException[Elasticsearch exception [type=mapper_parsing_exception …………
而且在使用IndicesClient indices的create方法時會提示:deprecated,說明該方法被棄用。
原因分析
進入這個被棄用的方法:
源碼裡說明了該方法為何被抛棄,以及被抛棄的原因。簡單說來就是有一個新方法,該新方法的入參改成了一個新的類型。
然後找到該新方法,發現它的類型名和棄用方法一緻,但是引用的包卻不一樣:
解決方案
注釋掉被棄用的import類型,換成新方法的那個類型:
//import org.elasticsearch.action.admin.indices.create.CreateIndexRequest;
import org.elasticsearch.client.indices.CreateIndexRequest;
問題解決。