查阅官方文档发现了它们之间有依赖关系:
Dependenciesedit The High Level Java REST Client depends on the following artifacts and their transitive dependencies: org.elasticsearch.client:elasticsearch-rest-client org.elasticsearch:elasticsearch
而且版本号尽量一致,不一致可能会导致某些api不可用。
引入依赖
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.3.2</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-client</artifactId>
<version>7.3.2</version>
</dependency>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>7.3.2</version>
</dependency>
我们用到的只是elasticsearch-rest-high-level-client
,但这三个都要有,不然就会报错。我最初没有加入elasticsearch-rest-client
,提示
Caused by: java.lang.NoClassDefFoundError: org/elasticsearch/action/admin/indices/analyze/AnalyzeRequest