spring boot 配置es 使用用户名密码
要在Spring Boot中配置Elasticsearch使用用户名和密码,请按照以下步骤操作:
- 添加Elasticsearch客户端依赖
在pom.xml文件中添加以下依赖:
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-client</artifactId>
<version>7.11.2</version>
</dependency>
- 创建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客户端,它使用您提供的用户名和密码进行身份验证。
- 测试连接
您可以使用以下代码测试连接:
@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返回的响应
原文地址: http://www.cveoy.top/t/topic/hkKH 著作权归作者所有。请勿转载和采集!