| 
					
				 | 
			
			
				@ -7,13 +7,19 @@ import io.searchbox.client.JestClient; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import io.searchbox.client.JestClientFactory; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import io.searchbox.client.config.HttpClientConfig; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.elasticsearch.client.Client; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.elasticsearch.client.transport.TransportClient; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.elasticsearch.common.settings.Settings; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.elasticsearch.common.transport.InetSocketTransportAddress; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.context.annotation.Bean; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.context.annotation.Configuration; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.data.elasticsearch.core.ElasticsearchTemplate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.jdbc.core.JdbcTemplate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.util.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.net.InetAddress; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.net.UnknownHostException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.Arrays; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.Properties; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.concurrent.TimeUnit; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -24,10 +30,6 @@ import java.util.concurrent.TimeUnit; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@Configuration 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				public class ElasticFactory { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private static JestClientFactory factory = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private ElasticsearchTemplate elasticsearchTemplate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private ElasticSearchPorperties elasticSearchPorperties; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//-----------------------------------jestClient---------------------------------------- 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -68,15 +70,40 @@ public class ElasticFactory { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    //-----------------------------------TransportClient---------------------------------------- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private TransportClient transportClient; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Client getTransportClient() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return elasticsearchTemplate.getClient(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            initTranClient(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return transportClient; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 9300 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @throws UnknownHostException 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private synchronized void initTranClient() throws UnknownHostException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (transportClient == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String[] hosts = elasticSearchPorperties.getClusterNodes().split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Settings settings = Settings.settingsBuilder() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     .put("client.transport.sniff", elasticSearchPorperties.getJestDiscoveryEnabled())//开启嗅探功能 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    .put("cluster.name", StringUtils.isEmpty(elasticSearchPorperties.getClusterName()) ? "jkzl" : elasticSearchPorperties.getClusterName())//默认集群名字是jkzl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    .build(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            transportClient = TransportClient.builder().settings(settings).build(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (String oneHost : hosts) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String[] hostAndport = oneHost.split(":"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                transportClient.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(hostAndport[0]), Integer.valueOf(hostAndport[1]))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * es连接池 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 |