我正在尝试使用此文档自动配置Elasticsearch高级Rest客户端
我在我的application.properties中添加了以下属性:
spring.elasticsearch.rest.uris=https://hostname.com
spring.elasticsearch.rest.read-timeout=10s
spring.elasticsearch.rest.username= user
spring.elasticsearch.rest.password= password
我在pom.xml中添加了这些依赖项
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>${elasticsearch.version}</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-client</artifactId>
<version>${elasticsearch.version}</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>${elasticsearch.version}</version>
</dependency>
和一个属性
<elasticsearch.version>7.2.1</elasticsearch.version>
在我的应用程序中,我这样做了
@Configuration
@EnableAutoConfiguration
@SpringBootApplication
@ComponentScan
public class MainClass {
public static void main(String[] args) {
SpringApplication.run(MainClass.class, args);
}
}
但是当我尝试使用HighLevelClient时,它会给我NullPointerException
@Autowired
private RestHighLevelClient client;
我想念什么吗?
答案 0 :(得分:0)
您应该为NullPointerException
添加堆栈跟踪。
您没有写下使用的版本(Spring Boot,Spring Data Elasticsearch)。但是当前的Spring Boot 2.2.2针对使用Elasticsearch 6.8.5的Spring Data Elasticsearch3.2.x。因此,这不适用于Elasticsearch 7集群。下一版本(Spring Data Elasticsearch 4.0)随附对Elasticsearch 7的支持