Elasticsearch7.1 保存报错: Validation Failed: 1: type is missing;

it2024-04-18  45

如果按照下面的方式更改了依赖仍然有问题,可以直接指定一下 type:

-------------------------------

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<String, Object> 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:

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

怀疑是jar包的问题,看了官方文档,使用高级的client是说还要依赖于其他两个jar:

org.elasticsearch.client:elasticsearch-rest-clientorg.elasticsearch:elasticsearch

于是去https://mvnrepository.com/artifact/org.elasticsearch/elasticsearch/7.1.0找到这两个jar包,加上,就保存成功了。

新的pom.xml:

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

 

最新回复(0)