JAVA接口将从MySql查出的大量数据导入到Elasticsearch中实现类
2017-04-27 14:41
691 查看
这里是我的Service实现类, Controller 和 DAO层省略。
public void insertBigData() { //如果使用默认的cluster请保持Setting Empty Settings settings = Settings.EMPTY; TransportClient client; try { //TransportClient连接es client = createConnection(settings,"127.0.0.1",9300); //调用插入大量数据方法 String message = insertSomeRecords(client); System.out.println(message); //关闭连接 client.close(); }catch(Exception e){ e.printStackTrace(); } return result; }
建立TransportClient连接的方法
private TransportClient createConnection(Settings settings,String ip,int port) throws UnknownHostException{ TransportClient client = new PreBuiltTransportClient(settings) .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(ip),port)); return client; }
BulkRequestBuilder插入多个文档
private String insertSomeRecords(TransportClient client){ // 定义你的elasticsearch 的 index 和 type String index = "alloutlet"; String type = "details"; // 创建一个Json的list, 插入自己从MySql数据库查出的数据 List<Map<String, Object>> userList = outletOwnerMapper.allOutlet(); Long count = (long) userList.size(); //核心方法BulkRequestBuilder拼接多个Json BulkRequestBuilder bulkRequest = client.prepareBulk(); for (int i = 0; i < count; i++) { bulkRequest.add(client.prepareIndex(index, type).setSource(userList.get(i))); } //插入文档至ES, 完成! bulkRequest.execute().actionGet(); return bulkRequest.toString(); }
完成后用es head查看,文档已插入成功,共48477个。
相关文章推荐
- 从MySQL导入导出大量数据的程序实现方法
- Java利用MYSQL LOAD DATA LOCAL INFILE实现大批量导入数据到MySQL
- Java不写文件,LOAD DATA LOCAL INFILE大批量导入数据到MySQL的实现
- Java不写文件,LOAD DATA LOCAL INFILE大批量导入数据到MySQL的实现
- 从MySQL导入导出大量数据的程序实现方法
- Java不写文件,LOAD DATA LOCAL INFILE大批量导入数据到MySQL的实现
- MySQL导入导出大量数据的程序实现方法
- Java实现Mysql数据导入导出
- Java不写文件,LOAD DATA LOCAL INFILE大批量导入数据到MySQL的实现
- 从 MySQL 导入导出大量数据的程序实现方法
- MySQL导入导出大量数据的程序实现方法
- Java不写文件,LOAD DATA LOCAL INFILE大批量导入数据到MySQL的实现
- Java中实现大批量导入数据到MySQL——LOAD DATA LOCAL INFILE
- java实现excel数据导入到数据库
- java 大量数据提交时,使用队列定时提交思路的程序实现
- 设计模式实践-反射到所有接口实现类实践工厂方法,页面中有大量计算数据时设计实践
- 导入大量数据时出现MySQL Server has gone away 的解决方法
- JAVA实现Excel表数据导入ORACLE数据库
- Sqoop导入数据到MySql时的java.util.NoSuchElementException异常
- java EXCEL 数据 导入 Mysql