spring-boot - ElasticSearchHighLevelClient springboot自动配置不起作用

标签 spring-boot elasticsearch

我正在尝试使用此文档自动配置Elasticsearch高级Rest客户端

https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-elasticsearch

我在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>

和属性(property)
<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;

我想念什么吗?

最佳答案

您应该为NullPointerException添加stacktrace。

您没有编写使用的版本(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的支持。

关于spring-boot - ElasticSearchHighLevelClient springboot自动配置不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59431917/

相关文章:

java - java中的同步请求响应

java - 如何提高RestTemplate的性能

elasticsearch - Elasticsearch查询通过搜索后找到丢失的文档

amazon-web-services - 如何通过 aws ES 服务设置自己的 Kibana 客户端

elasticsearch - Elasticsearch :查询字符串指定小数点

java - 如何将存储过程的结果映射到 spring-boot/hibernate 中的实体

java - 在 Java Spring Boot 中运行时更改 @Bean 的值

java - 在应用程序运行时更新 Spring Boot 属性的更好方法

Elasticsearch:如何将嵌套的 Json 数组对象插入到 Elasticsearch 索引中

docker - 无法连接到 docker 中端口9300上的Elasticsearch