开发者社区> 易天行j> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

ElasticSearch java api -单例模式

简介: //单例模式 private static Settings getSettingInstance(){ if(settings==null){ synchronized (Settings.class) { if(settings==null){ settings = ImmutableSettings.
+关注继续查看

//单例模式
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 实践
54 0
ElasticSearch: java API - 基本增删改查和聚合查询
ElasticSearch: java API - 基本增删改查和聚合查询
55 0
ElasticSearch: java API - 基本增删改查和聚合查询
ElasticSearch: java API - 基本增删改查和聚合查询
165 0
Elasticsearch 5.X下JAVA API使用指南
Elasticsearch 5.0下Java API使用指南 一.2.X到5.X Elasticsearch 2.x使用java api把elasticsearch安装包下的lib文件夹下的jar文件全部加入到工程类路径即可,换到5.
1004 0
[ElasticSearch]Java API 之 滚动搜索(Scroll API)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SunnyYoona/article/details/52810397 一般搜索请求都是返回一"页"数据,无论数据量多大都一起返回给用户,Scroll API可以允许我们检索大量数据(甚至全部数据)。
1782 0
[ElasticSearch2.x]Java API 之 索引管理
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SunnyYoona/article/details/52791465 ElasticSearch为了便于处理索引管理(Indices administration)请求,提供了 org.elasticsearch.client.IndicesAdminClient接口。
910 0
Elasticsearch Java API(八)--搜索有相同父id的子文档
需求: 搜索具有相同父id的所有子文档. 数据:    mapping:      { "mappings": { "branch": {}, "employee": { ...
724 0
ElasticSearch Java Api(四) -删除索引
删除可以是删除整个索引库,也可以根据文档id删除索引库下的文档,还可以通过query查询条件删除所有符合条件的数据。 一、删除整个索引库 下面的例子会删除indexName索引: DeleteIndexResponse dResponse = client.
1317 0
ElasticSearch Java Api(三) -更新索引库
官网文档:https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-docs-update.
817 0
[搜索]ElasticSearch Java Api(一) -创建索引
ElasticSearch JAVA API 一、生成JSON 创建索引的第一步是要把对象转换为JSON字符串.官网给出了四种创建JSON文档的方法: 1.
1102 0
+关注
易天行j
进击的代码狗
93
文章
1
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载