zoukankan      html  css  js  c++  java
  • elasticsearch TransportClient bulk批量提交数据

    import com.qh.utils.ESClientUtil;
    import org.elasticsearch.client.transport.TransportClient;
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    import java.net.UnknownHostException;
    import java.util.HashMap;
    import java.util.Map;
    import org.elasticsearch.action.bulk.BulkRequestBuilder;
    
    /**
     * 批量插入
     */
    public class EsTask {
    
        public static void main(String[] args) {
            try {
                TransportClient client = ESClientUtil.getClient();
                File article = new File(args[0]);
                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){
                    String[] lineArray = line.split(" ");
                    if (lineArray.length == 7) {
                        Map<String,String> map=new HashMap<String,String>();
                        map.put("mnc",lineArray[0]);
                        map.put("lac",lineArray[1]);
                        map.put("ci",lineArray[2]);
                        map.put("province",lineArray[3]);
                        map.put("city",lineArray[4]);
                        map.put("county",lineArray[5]);
                        map.put("town",lineArray[6]);
                        bulkRequest.add(client.prepareIndex("test","article").setSource(map));
                        if (count%10==0) {
                            bulkRequest.execute().actionGet();
                            bulkRequest=client.prepareBulk();
                            System.out.println("********10********");
                        }
                        count++;
                    }
                }
                bulkRequest.execute().actionGet();
                bfr.close();
                fr.close();
                System.out.println("*************BatchInsert Success*************");
            } catch (UnknownHostException e) {
                e.printStackTrace();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
    
        }
    
    
    }
  • 相关阅读:
    进阶之路 | 奇妙的View之旅
    进阶之路 | 奇妙的Window之旅
    进阶之路 | 奇妙的Activity之旅
    Laravel5.5 邮件发送报错:stream_socket_client()
    ThinkPHP中使用PHPMailer发送邮件
    php 实现密码错误三次锁定账号10分钟
    自定义函数实现字符串数组互转
    自定义函数实现判断一个字符串是否包含另外一个字符串
    PHP一个for循环输出9*9乘法表
    中国地区表SQL语句
  • 原文地址:https://www.cnblogs.com/chong-zuo3322/p/13229300.html
Copyright © 2011-2022 走看看