ElasticSearch java api -单例模式
//单例模式
private static Settings getSettingInstance(){
if(settings==null){
synchronized (Settings.class) {
if(settings==null){
settings = ImmutableSettings.settingsBuilder()
// client.transport.sniff=true
// 客户端嗅探整个集群的状态,把集群中其它机器的ip地址自动添加到客户端中,并且自动发现新加入集群的机器
.put("client.transport.sniff", true).put("client", true)// 仅作为客户端连接
.put("data", false).put("cluster.name", clustername)// 集群名称
.build();
}
}
}
return settings;
}
//单例模式
private static TransportClient client;
private static TransportClient getIstance() {
if (client == null) {
//同步代码块(对象未初始化时,使用同步代码块,保证多线程访问时对象在第一次创建后,不再重复被创建)
synchronized (TransportClient.class) {
if (client == null) {
client = new TransportClient(getSettingInstance()).addTransportAddress(new InetSocketTransportAddress(hostname, Integer.parseInt(port1)))// TCP
// 连接地址
.addTransportAddress(new InetSocketTransportAddress(hostname, Integer.parseInt(port2)));
}
}
}
return client;
}
/**
* 创建索引 写入elasticsearch
*
* @param jsonlist
* 要创建索引的jsonlist数据
*/
public static void createIndex(List<JSONObject> jsonlist) {
searchRequestBuilder = getIstance().prepareSearch(index);
try {
// 创建索引
for (int i = 0; i < jsonlist.size(); i++) {
IndexResponse indexResponse = client.prepareIndex(index, type, jsonlist.get(i).getString("id")).setSource(jsonlist.get(i).toString())
.execute().actionGet();
if (indexResponse.isCreated()) {
System.out.println("创建成功!");
} else {
System.out.println("创建失败!");
}
}
}
catch (Exception e) {
e.printStackTrace();
}
}
ElasticSearch java api -单例模式的更多相关文章
- [搜索]ElasticSearch Java Api(一) -添加数据创建索引
转载:http://blog.csdn.net/napoay/article/details/51707023 ElasticSearch JAVA API官网文档:https://www.elast ...
- Elasticsearch java api 基本搜索部分详解
文档是结合几个博客整理出来的,内容大部分为转载内容.在使用过程中,对一些疑问点进行了整理与解析. Elasticsearch java api 基本搜索部分详解 ElasticSearch 常用的查询 ...
- Elasticsearch java api 常用查询方法QueryBuilder构造举例
转载:http://m.blog.csdn.net/u012546526/article/details/74184769 Elasticsearch java api 常用查询方法QueryBuil ...
- 第08章 ElasticSearch Java API
本章内容 使用客户端对象(client object)连接到本地或远程ElasticSearch集群. 逐条或批量索引文档. 更新文档内容. 使用各种ElasticSearch支持的查询方式. 处理E ...
- Elasticsearch Java API深入详解
0.题记 之前Elasticsearch的应用比较多,但大多集中在关系型.非关系型数据库与Elasticsearch之间的同步.以上内容完成了Elasticsearch所需要的基础数据量的供给.但想要 ...
- Elasticsearch Java API 很全的整理
Elasticsearch 的API 分为 REST Client API(http请求形式)以及 transportClient API两种.相比来说transportClient API效率更高, ...
- ElasticSearch Java api 详解_V1.0
/×××××××××××××××××××××××××××××××××××××××××/ Author:xxx0624 HomePage:http://www.cnblogs.com/xxx0624/ ...
- Elasticsearch JAVA api搞定groupBy聚合
本文给出如何使用Elasticsearch的Java API做类似SQL的group by聚合.为了简单起见,只给出一级groupby即group by field1(而不涉及到多级,例如group ...
- Elasticsearch JAVA api轻松搞定groupBy聚合
本文给出如何使用Elasticsearch的Java API做类似SQL的group by聚合. 为了简单起见,只给出一级groupby即group by field1(而不涉及到多级,例如group ...
随机推荐
- 定时任务crond
在服务器上使用crond完成定时操作很方便, 下面简单记录一下. 常用的命令主要有以下三个: (1)编辑定时任务 crontab -e (2) 查看定时任务 crontab -l (3) 删除定 ...
- Chronograf启动(Influxdb的管理平台)
1.创建一个bat文件,文件内容如下 @echo off:: 开启chronograf服务,服务监听端口9084echo 开启chronograf服务chronograf.exe /port 9084 ...
- 1,Spring MVC 学习总结(一)
一,什么是MVC MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示 ...
- hook原生打包流程
将实际执行的Transform换成了MatrixTraceTransform public static void inject(Project project, def variant) { //获 ...
- flutter输入颜色枚举卡顿假死
AndroidStudio 3.3.2 遇到 flutter输入颜色枚举卡顿假死,目前没好的解决方案,可以设置显示时间或者关闭popup窗口显示文档,这样就不会卡顿了 下面示例代码在输入 Colors ...
- CSS-格式化上下文(Formatting Context)
Formatting Context:指页面中的一个渲染区域,并且拥有一套渲染规则,他决定了其子元素如何定位,以及与其他元素的相互关系和作用. BFC 块级格式化上下文,它是指一个独立的块级渲染区域, ...
- 鸿蒙系统开源学习经验分享HarmonyOS[www.allharmonyos.com]
分享鸿蒙系统开源知识,分享学习经验,分享鸿蒙系统开发经验 www.allharmonyos.com https://gitee.com/allharmonyos https://github.com/ ...
- Intent的setFlag和addFlag有什么区别?
Intent的setFlag和addFlag有什么区别?setFlag是把之前的替换掉,addFlag是添加新的 Intent it=new Intent(); it.setClass(Setting ...
- 腾讯两大开源项目Tars、TSeer
6月25日,在LC3(LinuxCon + ContainerCon + CloudOpen)中国2018大会上,腾讯宣布其两大开源项目——RPC开发框架Tars.轻量化名字服务方案TSeer,加入L ...
- HTML5--sessionStorage、localStorage、manifest
sessionStroage: <!DOCTYPE html> <html lang="en"> <head> <meta charset ...