从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()); }
 

最新文章

  1. morhia解决BigDecimal映射问题
  2. Java String类中的intern()方法
  3. eclipse项目持续报红解决
  4. [JS]Javascript的this用法
  5. hdu4436-str2int(后缀数组 or 后缀自动机)
  6. cocos2d-x实战 C++卷 学习笔记--第4章 字符串 __String类
  7. 【Objective-C基础教程-读书笔记】第1章 启程
  8. mysql修改root密码的方法
  9. AS 7 Internal Architecture Overview--reference
  10. MFC窗口的父子关系和层级关系
  11. Duanxx的STM32学习:STM32F103中等容量的功能和外设
  12. 部分网站允许空白referer的防盗链图片的js破解代码
  13. SaaS模式应用之多租户系统开发(单数据库多Schema设计)
  14. JavaWeb(五)Filter过滤器
  15. Flask表单(Flask-WTF)
  16. SpringCloud学习笔记:声明式调用Feign(4)
  17. tomcat+apache的集群配置
  18. ubuntu crontab 在时间段内随机执行一次
  19. ubuntu 18.04下安装Hadoop
  20. LA3510 Pixel Shuffle

热门文章

  1. VHDL之Serial-Parallel Multiplier
  2. 一个有趣的 ”Validation of viewstate MAC failed” 错误的发现和解决
  3. 170925_1 Python socket 创建TCP的服务器端和客户端
  4. TCP报文到达确认(ACK)机制
  5. Discuz! X3.1云平台QQ互联的Unknown column 'conuintoken' in 'field list' 解决办法
  6. Python---HTML表单
  7. BZOJ 4520: [Cqoi2016]K远点对 KDtree + 估价函数 + 堆
  8. array_map 等php回调函数使用问题(关联数组下标获取)
  9. java后台处理解析json字符串的两种方式
  10. 3、ceph-deploy之配置使用文件系统