2014-11-21 28 views
7

有誰知道什麼是Java的配置等價的:春數據ElasticSearch TransportClient Java的配置

<?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()做到這一點。

回答

11

看看到Spring數據文件以瞭解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基於註解配置

春季數據Elasticsearch庫的支持不僅可以 通過XML激活命名空間,還通過JavaConfig使用註釋 。

+0

以上代碼不創建傳輸客戶端,而不是它創建了一個節點的客戶端和是Java的配置等價以下xml配置 的 2014-11-21 09:33:48

+0

請參閱使用TransportClient更新,您可以使用該構造函數調用ElasticsearchTemplate – 2014-11-21 10:23:15

+2

還可以將Settings settings = ImmutableSettings.settingsBuilder()。put(「」,「」)。build()傳遞給TransportClient的構造函數以配置它... – 2014-11-21 10:25:49