一、es的jdbc类
-
package com.yunshi.index.dao.esdb;
import org.apache.log4j.Logger;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.transport.client.PreBuiltTransportClient;
import java.net.InetAddress;
/**
* es连接数据库相关类
* Created by mk on 2017/11/22.
*/
public class ElasticSearchJdbc {
private static final Logger logger = Logger.getLogger("ElasticSearchJdbc");
private String cluster_name = null;// 实例名称
private String cluster_serverip = null;// elasticSearch服务器ip
private String indexname = null;// 索引名称
private TransportClient client = null;
public String getCluster_name() {return cluster_name;}
public void setCluster_name(String cluster_name) {this.cluster_name = cluster_name;}
public String getCluster_serverip() {return cluster_serverip;}
public void setCluster_serverip(String cluster_serverip) {this.cluster_serverip = cluster_serverip;}
public String getIndexname() {return indexname;}
public void setIndexname(String indexname) {this.indexname = indexname;}
private void init() {
// 设置集群名称
Settings settings = Settings.builder().put("cluster.name", cluster_name).build();
// 创建client
client = new PreBuiltTransportClient(settings);
if (this.cluster_name == null || "".equals(this.cluster_name)) {
throw new EsdbException("ES未配置实例名称!");
}
if (this.cluster_serverip == null || "".equals(this.cluster_serverip)) {
throw new EsdbException("ES未配置服务器IP!");
}
if (this.indexname == null || "".equals(this.indexname)) {
throw new EsdbException("ES未配置索引名称!");
}
try {
// 增加地址和端口
client.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(cluster_serverip), 9300));
}catch (Exception e){
logger.error("class : ElasticSearchJdbc --> method : getClient 创建ES客户端连接异常!");
e.printStackTrace();
}
}
/**
* 返回一个ElasticSearch的连接客户端
*
* @return client
*/
public TransportClient getClient() {
if(client==null) {
init();
}
return client;
}
}
-
二、spring.xml配置
-
<!--初始化ES配置并启动-->
<bean id="ElasticSearchJdbc" class="com.yunshi.index.dao.esdb.ElasticSearchJdbc" init-method="init">
<property name="cluster_name" value="${cluster_name}"/>
<property name="indexname" value="${indexname}"/>
<property name="cluster_serverip" value="${cluster_serverip}"/>
</bean>
-
三、es配置文件
-
cluster_name=zhonghuayuntest
cluster_serverip=192.168.0.248
indexname=onair_resource
-
四、总结
虽然此博客内容简单,但是进行这样的抽取工作还是很有必要的!
标签:封装,name,ESjdbc,serverip,cluster,client,public,ES,String
From: https://blog.51cto.com/u_14471711/5913041