记录一下第一个向ElasticSearch中添加数据的方法
来源:互联网 发布:淘宝主图视频自动播放 编辑:程序博客网 时间:2024/06/01 15:45
话少,直上Code:
org.elasticsearch elasticsearch2.0.0
该代码片段为引用的ElasticSearch的Maven坐标,该版本为2.0.0版本的ES。目前最新的已经出了5.0.X了,大家可以尝试最新的。
接下来就是贴出实际操作ElasticSearch的代码片段
import org.elasticsearch.action.bulk.BulkRequestBuilder;import org.elasticsearch.action.bulk.BulkResponse;import org.elasticsearch.client.transport.TransportClient;import org.elasticsearch.common.settings.Settings;import org.elasticsearch.common.transport.InetSocketTransportAddress;import java.net.InetAddress;import java.util.HashMap;import java.util.Map;/** * Created by Administrator on 2017/10/11. */public class TestInsertElastic { public static final String CLUSTER_NAME ="elasticsearch1"; // 实例名称 private static final String IP = "192.168.1.11"; // 要连接主机ip去执行这个操作 private static final int PORT = 9300; // ElasticSearch集群Cluster默认通过9300端口通信 // main方法的调用 public static void main(String args[]) throws Exception{ // 进行前期ElasticSearch的相关配置实现 Settings settings = Settings.settingsBuilder() .put("cluster.name", CLUSTER_NAME) // 集群节点的名称 .put("client.transport.sniff", true) // 启动嗅探功能 客户端去嗅探整个集群的状态,把集群中其它机器的ip地址加到客 .put("client.transport.ping_timeout", "120s") // 设置集群节点的超时时间为120s .build(); // 通过如上的settings对象去创建TransportClient对象(ElasticSearch中的客户端对象) TransportClient client = TransportClient.builder().settings(settings).build(); // 通过ip、port和client对象建立连接 client.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(IP), PORT)); // 要插入的数据条数 Long count = 20L; // ElasticSearch中的index的索引 String index = "test_bigdata"; // ElasticSearch中的type的类型 String type = "student1"; // 创建批量插入数据的Bulk对象 BulkRequestBuilder bulkRequest = client.prepareBulk(); // 循环创建对象并且插入数据到ElasticSearch中 for (int i = 0; i < count; i++) { Mapret = new HashMap (); // 模拟创建的列和数据,Map中的key为关系型数据库中的列名称,Value为关系型数据库中的值 ret.put("recordtime", 00); ret.put("area", 01); ret.put("usertype", 02); ret.put("count", 03); ret.put("test_data", 05); // 将创建的Map对象添加到Bulk对象中暂存起来 bulkRequest.add(client.prepareIndex(index, type).setSource(ret)); // 每10条提交一次 if (i % 10 == 0) { // 一次执行插入数据的操作 BulkResponse response = bulkRequest.execute().actionGet(); System.out.println(response.getTook()); System.out.println("test for elasticSearchs ============= "); } } }}
如上就是简单通过ElasticSearch批量插入数据的小Demo,适合刚接触的朋友们。
阅读全文
0 0
- 记录一下第一个向ElasticSearch中添加数据的方法
- 简单记录一下第一个JAVAWEB项目的过程
- 学习ThinkPHP3.2.2(一):记录一下第一个例子的运行过程
- 两种向TreeView中添加数据的方法
- C# 向ListView中添加多列数据的方法
- 测试一下第一个
- 记录下第一个代码博客
- 动态的向ListView中添加数据
- MARK一下第一个APP
- jacob学习一:向word中添加一个字符串
- c#中向ListView中添加一行数据的一种简单方法
- 记录下第一天的心情
- 一次向数据库中插入多条相同记录的SQL方法(只有一个列不同)
- Elasticsearch(5)实践一-数据添加
- easyui------向datagrid中动态添加不重复的记录
- ubuntu 下第一个php扩展开发记录
- ubuntu 下第一个php扩展开发记录
- 向数据库中添加数据
- krpano360全景 教程
- Leetcode题解-17. Letter Combinations of a Phone Number
- 常用正则表达式收集
- Java爬虫,信息抓取的实现
- 课堂练习四
- 记录一下第一个向ElasticSearch中添加数据的方法
- UIMenuController 显示不出来的原因
- 数据库基础知识
- 设计模式学习(一)——单例模式
- 圣杯布局与双飞翼布局
- CMakeList的基本写法
- Java多线程
- iOS11开发新增功能大全
- 判断点是否在矩形内