spring.data.elasticsearch.cluster-nodes配置项deprecated
时间: 2024-04-13 20:28:19 浏览: 224
非常抱歉给您带来的困惑。确实,对于Spring Data Elasticsearch 4.x版本及以上,`spring.data.elasticsearch.cluster-nodes`配置项已经被标记为过时(deprecated)。取而代之的是使用`spring.elasticsearch.rest.uris`配置项来指定Elasticsearch集群节点的地址。
以下是一个示例配置:
```properties
spring.elasticsearch.rest.uris=http://localhost:9200,http://localhost:9201
```
这个配置项允许您指定一个或多个Elasticsearch节点的地址,用逗号分隔。每个节点的地址应该包括协议(如http或https)、主机名和端口号。
请注意,`spring.elasticsearch.rest.uris`配置项仅适用于使用Elasticsearch的REST API进行连接的情况。如果您需要使用其他类型的客户端,请参考相应的文档来进行配置。
再次向您道歉,并感谢您的指正!如果还有其他问题,请随时提问。
相关问题
spring.data.elasticsearch.cluster-nodes已被弃用,那现在该怎么配置ES呢?
是的,spring.data.elasticsearch.cluster-nodes已经被弃用了。现在建议使用以下两种方式之一来配置Elasticsearch:
1. 使用`spring.elasticsearch.rest.uris`属性配置REST客户端连接:
```
spring.elasticsearch.rest.uris=http://localhost:9200
```
2. 使用`RestHighLevelClient` bean手动配置连接:
```
@Configuration
public class ElasticsearchConfig {
@Bean(destroyMethod = "close")
public RestHighLevelClient elasticsearchClient() {
final ClientConfiguration clientConfiguration = ClientConfiguration.builder()
.connectedTo("localhost:9200")
.build();
return RestClients.create(clientConfiguration).rest();
}
}
```
注意,第二种方法需要添加以下依赖:
```
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>${elasticsearch.version}</version>
</dependency>
```
spring: data: elasticsearch: cluster-name: my-elasticsearch-cluster # Elasticsearch 集群名称 cluster-nodes: localhost:9200 # Elasticsearch 连接地址和端口 cluster已经弃用了
是的,你说得没错。在 Spring Data Elasticsearch 中,`cluster-name` 和 `cluster-nodes` 这两个配置属性已经被弃用了。现在,你需要使用 `spring.elasticsearch.rest.*` 属性来配置 Elasticsearch 的 REST 客户端。例如,你可以使用以下配置来连接 Elasticsearch:
```
spring:
elasticsearch:
rest:
uris: http://localhost:9200
```
这里,`rest.uris` 属性指定了 Elasticsearch 服务器的地址和端口。你还可以配置其他的属性,例如连接超时时间、用户名和密码等。具体可以参考 Spring Data Elasticsearch 的文档。
阅读全文