在整个web中,我可以看到spring-data-elasticsearch具有一些您可以在application.properties中定义的配置属性,例如:
spring.data.elasticsearch.repositories.enabled=true
spring.data.elasticsearch.cluster-nodes=localhost:9300
spring.data.elasticsearch.cluster-name=elasticsearch
elasticsearch.index.name=my_index
elasticsearch.user.type=user但是,在IntelliJ中,我可以看到,例如:
spring.data.elasticsearch.cluster-nodes=localhost:9300
spring.data.elasticsearch.cluster-name=elasticsearch..。现在已经不受欢迎了。然而,在spring-data-elasticsearch文档中,我似乎找不到任何东西可以列出可用的属性,或者应该用什么替代不推荐的属性。
任何帮助都是欢迎的。提前感谢!
发布于 2021-04-10 07:57:55
根据Spring数据弹性搜索的Spring文档的说法:
TransportClient在Elasticsearch 7中被取消,并将在Elasticsearch 8中删除。将支持TransportClient,只要它在使用的Elasticsearch版本中可用,但自4.0版本开始就不再推荐使用它的类。
注意:--这意味着Spring也将反对Elasticsearch 7支持的遗留属性。
现在,Spring建议开发人员使用RestHighLevelClient,它现在是Elasticsearch的默认客户端。它是TransportClient的直接替代品,因为它接受并返回相同的请求/响应对象。
下面是要演示的代码:
@Configuration
public class ElasticSearchConfig extends AbstractElasticsearchConfiguration {
@Override
@Bean
public RestHighLevelClient elasticsearchClient() {
ClientConfiguration clientConfiguration = ClientConfiguration.builder()
.connectedTo("localhost:9300")
.build();
return RestClients.create(clientConfiguration).rest();
}
}需要通过覆盖默认bean来创建上面的配置。此外,您不需要显式地提供集群名称。它会自动找到它。
阅读上面链接的文档,以供参考,因为它有所有必要的信息。
https://stackoverflow.com/questions/67030187
复制相似问题