elasticsearch7.1保存时报错:
org.elasticsearch.action.ActionRequestValidationException: Validation Failed: 1: type is missing;
at org.elasticsearch.action.ValidateActions.addValidationError(ValidateActions.java:26)
at org.elasticsearch.action.index.IndexRequest.validate(IndexRequest.java:148)
at org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:1399)
at org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEntity(RestHighLevelClient.java:1373)
at org.elasticsearch.client.RestHighLevelClient.index(RestHighLevelClient.java:821)
at com.jiachi.util.EsUtil.saveData(EsUtil.java:52)
at com.jiachi.util.EsUtil.main(EsUtil.java:69)
代码如下:
/**
* 单条保存
* @param index
* @param id
* @param m
*/
public static void saveData(String index,String id,Map m){
try {
RestHighLevelClient client = getClient();
IndexRequest indexRequest = new IndexRequest(index)
.id( id)
.source(m);
client.index(indexRequest, RequestOptions.DEFAULT);
} catch (Exception e) {
e.printStackTrace();
}
}pom.xml:
org.elasticsearch.client
elasticsearch-rest-high-level-client
7.1.0
怀疑是jar包的问题,看了官方文档,使用高级的client是说还要依赖于其他两个jar:
org.elasticsearch.client:elasticsearch-rest-client
org.elasticsearch:elasticsearch于是去https://mvnrepository.com/artifact/org.elasticsearch/elasticsearch/7.1.0找到这两个jar包,加上,就保存成功了。
新的pom.xml:
org.elasticsearch.client
elasticsearch-rest-high-level-client
7.1.0
org.elasticsearch.client
elasticsearch-rest-client
7.1.0
org.elasticsearch
elasticsearch
7.1.0
完整代码看:java如何连接es7.x集群