要在Spring Boot中配置Elasticsearch使用用户名和密码,请按照以下步骤操作:

  1. 添加Elasticsearch客户端依赖

在pom.xml文件中添加以下依赖:

<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-client</artifactId>
    <version>7.11.2</version>
</dependency>
  1. 创建Elasticsearch客户端

在Spring Boot配置文件中添加以下配置:

spring.elasticsearch.rest.uris=http://localhost:9200
spring.elasticsearch.rest.username=your_username
spring.elasticsearch.rest.password=your_password

然后,在您的应用程序中创建Elasticsearch客户端:

@Configuration
public class ElasticsearchConfig {

    @Value("${spring.elasticsearch.rest.uris}")
    private String[] uris;

    @Value("${spring.elasticsearch.rest.username}")
    private String username;

    @Value("${spring.elasticsearch.rest.password}")
    private String password;

    @Bean
    public RestHighLevelClient elasticsearchClient() {
        final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
        credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password));

        RestClientBuilder builder = RestClient.builder(HttpHost.create(uris[0]))
                .setHttpClientConfigCallback(httpClientBuilder -> {
                    httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
                    return httpClientBuilder;
                });

        return new RestHighLevelClient(builder);
    }
}

这将创建一个Elasticsearch客户端,它使用您提供的用户名和密码进行身份验证。

  1. 测试连接

您可以使用以下代码测试连接:

@RestController
public class ElasticsearchController {

    private final RestHighLevelClient elasticsearchClient;

    public ElasticsearchController(RestHighLevelClient elasticsearchClient) {
        this.elasticsearchClient = elasticsearchClient;
    }

    @GetMapping("/test")
    public String test() throws IOException {
        final Request request = new Request("GET", "/");
        final Response response = elasticsearchClient.getLowLevelClient().performRequest(request);
        return EntityUtils.toString(response.getEntity());
    }
}

这将执行一个简单的HTTP GET请求,检查是否可以连接到Elasticsearch。如果您的连接配置正确,您将看到Elasticsearch返回的响应

spring boot 配置es 使用用户名密码

原文地址: http://www.cveoy.top/t/topic/hkKH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录