从bulk.txt文件中按行读取,然后bulk导入。首先通过调用client.prepareBulk()实例化一个BulkRequestBuilder对象,调用BulkRequestBuilder对象的add方法添加数据。实现代码:

import java.io.BufferedReader;
import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.net.InetAddress; import java.net.UnknownHostException; import org.elasticsearch.action.bulk.BulkRequestBuilder; import org.elasticsearch.client.Client; import org.elasticsearch.client.transport.TransportClient; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.transport.InetSocketTransportAddress; public class ElasticSearchBulkIn { public static void main(String[] args) { try { Settings settings = Settings.settingsBuilder() .put("cluster.name", "bropen").build();// cluster.name在elasticsearch.yml中配置 Client client = TransportClient.builder().settings(settings).build() .addTransportAddress(new InetSocketTransportAddress( InetAddress.getByName("127.0.0.1"), 9300)); File article = new File("files/bulk.txt"); FileReader fr=new FileReader(article); BufferedReader bfr=new BufferedReader(fr); String line=null; BulkRequestBuilder bulkRequest=client.prepareBulk(); int count=0; while((line=bfr.readLine())!=null){ bulkRequest.add(client.prepareIndex("test","article").setSource(line)); if (count%10==0) { bulkRequest.execute().actionGet(); } count++; //System.out.println(line); } bulkRequest.execute().actionGet(); bfr.close(); fr.close(); } catch (UnknownHostException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }

setSource里其实就是json的字符串!!!!见:http://www.cnblogs.com/bonelee/p/6956138.html

Settings settings=ImmutableSettings.settingsBuilder()  .put("client.transport.sniff",true).put("cluster.name","myelasticsearch").build();
//设置客户端连接transport  Client client=new TransportClient(settings).addTransportAddress(  new InetSocketTransportAddress("192.168.1.100",9300));
//建立批量提交类
BulkRequestBuilder bulkRequest=client.prepareBulk();  while(rs.next()){
//建立批量json对象  bulkRequest.add(client.prepareIndex("ryxx","tweet",rs.getString("id")).setSource(jsonBuilder().startObject()  .field("name",rs.getString("name"))  .field("age",rs.getString("age"))  .field("address",rs.getString("address"))  .field("phone",rs.getString("phone"))  .endObject()  ));  }
//批量提交到服务器  BulkResponse bulkResponse=bulkRequest.execute().actionGet();
//提交过程是否产生错误  if(bulkResponse.hasFailures()){  System.out.println(bulkResponse.buildFailureMessage());  }  

 

ES transport client批量导入相关推荐

  1. ES transport client使用

    ES transport client bulk insert 传输(transport)客户端 TransportClient利用transport模块远程连接一个elasticsearch集群.它 ...

  2. java es 数据批量导入_elasticsearch批量数据导入和导出

    之前使用ES的时候建表Type时有个字段的类型搞错了.以至于用API查询时出错.所以就研究一下ES API做了一下ES批量导出和导入重构了Type 1:Java API批量导出 Settings se ...

  3. ubuntu导入python的包_在ubuntu环境下怎么利用python将数据批量导入数据hbase

    斯蒂芬大帝 能够单条导入就能够批量导入配置 thriftpython使用的包 thrift个人使用的python 编译器是pycharm community edition. 在工程中设置中,找到pr ...

  4. HBase结合MapReduce批量导入

    Hbase是Hadoop生态体系配置的数据库,我们可以通过HTable api中的put方法向Hbase数据库中插入数据,但是由于put效率太低,不能批量插入大量的数据,文本将详细介绍如何通过MapR ...

  5. python处理完数据导入数据库_python操作数据库之批量导入

    python操作数据库之批量导入 Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进. Python具有丰富和强大的库.它常被昵称为胶水语言,能够把用其他语言制作的 ...

  6. 使用python向Redis批量导入数据

    1.使用pipeline进行批量导入数据.包含先使用rpush插入数据,然后使用expire改动过期时间 class Redis_Handler(Handler):def connect(self): ...

  7. 随笔编号-09 批量导入数据(Mysql)报MySQL server has gone away 问题的解决方法

    问题场景: 使用*.sql 脚本,批量导入数据到mysql实例中,使用DOS 界面导入的,期间,到最后一步 source D:\aaa.sql  回车后,系统提示 MySQL server has g ...

  8. python引入redis_使用python向Redis批量导入数据

    1.使用pipeline进行批量导入数据 class Redis_Handler(Handler): def connect(self): #print self.host,self.port,sel ...

  9. python批量导入网页信息_python批量导入数据进Elasticsearch的实例

    ES在之前的博客已有介绍,提供很多接口,本文介绍如何使用python批量导入.ES官网上有较多说明文档,仔细研究并结合搜索引擎应该不难使用. 先给代码 #coding=utf-8 from datet ...

最新文章

  1. AI市场扩大催生多样化标注需求
  2. tensorflow的axis理解
  3. 搭建zookeeper+kafka集群
  4. ocr 超时小票识别_【FreeOCR(文字扫描识别软件)和小票打印机测试工具哪个好用】FreeOCR(文字扫描识别软件)和小票打印机测试工具对比-ZOL下载...
  5. Visual C++——获取屏幕大小、窗口大小、对话框大小和位置、控件大小和位置
  6. Windows各版本以及漏洞
  7. 浏览器linux版本,Opera浏览器电脑版|Opera浏览器 V60.0.3255.70 Linux版 下载_当下软件园_软件下载...
  8. Java中使用log4j记录日志
  9. tp5 queue.php,tp5(think-queue)消息队列+supervisor进程管理实现队列常驻进程
  10. 贵阳学python_python学习类
  11. 也谈POV旋转LED制作,经验及技术点。
  12. vue 项目 跨域问题
  13. 苹果计算机取消用户名和密码进入不,苹果手机刷机过后进不了桌面要id账号和密码但是忘记了怎么处理?...
  14. Python360网站翻译
  15. 2018年江苏高考数学填空题14的一般思路
  16. redmi路由器是linux,拯救小米路由器硬盘数据的方法及软件下载
  17. eclipse安装教程_eclipse安装教程jdk
  18. Django(14)-应用及分布式路由
  19. CodeForces 858C Did you mean... 、 CodeForces 858D Polycarp's phone book!黑科技
  20. 用计算机录入一部书稿,计算机一级考试指导:汉字录入题的操作

热门文章

  1. 整数边界对齐方式_嵌入式基础——字节对齐
  2. oracle查看字典结构体,Oracle数据字典的实操
  3. 查看git是否安装_Java程序员的必备Linux运维技能-安装git
  4. java 著名的应用程序_即刻就业:java的应用程序有哪些
  5. php 怎么支持中文图片显示,给图片添加水印(支持中文)并生成缩略图_php
  6. ZHUOQING 发表论文整理
  7. Mac中安装JDK1.8和JDK11双版本并任意切换
  8. office2003计算机考试,计算机考试Office2003应用.doc
  9. linux 命令 kps,10个LINUX命令 超好用
  10. c语言findnext递归扫描文件,C++用FindFirstFile、FindNext递归遍历硬盘的文件-Go语言中文社区...