您可以在哪里找到spring-data-elasticsearch的配置属性参考?

9

在整个网络中,我可以看到 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的文档中,我似乎找不到任何列出可用属性的内容,或者替换应该使用哪些弃用的选项。

欢迎提供任何帮助。先感谢了!


3
这可能会有所帮助:这里 - code_mechanic
2个回答

7
这些属性来自于spring-boot-starter-data-elasticsearch,而不是spring-data-elasticsearch
正如@code_mechanic所建议的,在Spring Boot参考文档 > 常用应用程序属性 > 数据中,您将找到当前版本的Spring Boot可用的属性。以下是与Elasticsearch相关的一些属性:
默认值 描述
spring.data.elasticsearch.client.reactive.connection-timeout 连接超时。
spring.data.elasticsearch.client.reactive.endpoints 连接到Elasticsearch的逗号分隔的端点列表。
spring.data.elasticsearch.client.reactive.max-in-memory-size 限制每当输入流需要聚合时可以缓冲的字节数。
spring.data.elasticsearch.client.reactive.password 凭证密码。
spring.data.elasticsearch.client.reactive.socket-timeout 读写Socket超时。
spring.data.elasticsearch.client.reactive.use-ssl false 客户端是否应使用SSL连接到端点。
spring.data.elasticsearch.client.reactive.username 凭证用户名。
spring.data.elasticsearch.repositories.enabled true 是否启用Elasticsearch仓库。
spring.elasticsearch.rest.connection-timeout 1s 连接超时。
spring.elasticsearch.rest.password 凭证密码。
spring.elasticsearch.rest.read-timeout 30s 读取超时。
spring.elasticsearch.rest.uris [http://localhost:9200] 要使用的Elasticsearch实例的逗号分隔列表。
spring.elasticsearch.rest.username 凭证用户名。

Spring Boot的先前版本的参考文档可以在https://spring.io/projects/spring-boot#learn中找到。

您可能还对Spring Boot文档 > Spring Boot特性 > 使用Nosql技术 > Elasticsearch感兴趣,其中描述了如何使用REST客户端和反应式REST客户端进行连接,需要的依赖项以及配置属性。


2
根据Spring Data Elasticsearch文档:Spring Data Elasticsearch

TransportClient 自 Elasticsearch 7 开始被弃用,并将在 Elasticsearch 8 中删除。Spring Data Elasticsearch 将支持 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来创建。此外,您无需显式提供集群名称。它会自动找到它。

有关所有必要信息的参考,请阅读上面链接的文档。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接