Spring Data ElasticSearch TransportClient Java Config(Spring Data ElasticSearch传输客户端Java配置)

7

有人知道 Java Config 中以下代码的等效写法吗:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:elasticsearch="http://www.springframework.org/schema/data/elasticsearch"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/data/elasticsearch
http://www.springframework.org/schema/data/elasticsearch/spring-elasticsearch-1.0.xsd">
    <elasticsearch:transport-client id="client" cluster-nodes="localhost:9300,someip:9300"
/>
</beans>

我特别想使用nodeBuilder()来完成它。

1个回答

11

请查看Spring Data文档中有关ElasticSearch的内容:

   @Configuration
   @EnableElasticsearchRepositories(basePackages = "org/springframework/data/elasticsearch/repositories")
        static class Config {

        @Value("${esearch.port}") int port;
        @Value("${esearch.host}") String hostname;

        @Bean
        public ElasticsearchOperations elasticsearchTemplate() {
        return new ElasticsearchTemplate(client());
         }

        @Bean
        public Client client(){
            TransportClient client= new TransportClient();
            TransportAddress address = new InetSocketTransportAddress(hostname, port); 
            client.addTransportAddress(address);
            return client;
        }
   }

Elasticsearch Repositories 2.1.2 基于注解的配置

Spring Data Elasticsearch仓库支持不仅可以通过XML命名空间激活,还可以通过JavaConfig中的注解进行激活。


上面的代码并没有创建一个Transport Client,而是创建了一个Node Client,并且它是以下XML配置的Java Config等效形式: - Nitin Arora
请查看使用TransportClient更新的内容,您可以使用该构造函数调用ElasticsearchTemplate。 - Jama A.
2
你也可以将 Settings settings = ImmutableSettings.settingsBuilder().put("","").build() 传递给 TransportClient 的构造函数来配置它... - Jama A.
谢谢Jama。那个方法可行。有没有办法使用nodeBuilder()创建传输客户端? - Nitin Arora
它们是两个不同的东西。NodeBuilder 创建嵌入式 ElasticSearch 的客户端。TransportClient 是用于外部运行 ES 集群的客户端。 - EricGreg

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