Elasticsearch5.0 Java Api(六) -- 大量匯入索引

來源:互聯網
上載者:User

標籤:readline   code   line   http   null   over   elastic   .com   java   

  將電腦本地的.json格式檔案中的資料,大量匯入到索引庫中

 1 package com.juyun.test; 2  3 import java.io.BufferedReader; 4 import java.io.File; 5 import java.io.FileNotFoundException; 6 import java.io.FileReader; 7 import java.io.IOException; 8 import java.net.InetAddress; 9 import java.net.UnknownHostException;10 import java.util.ArrayList;11 import java.util.List;12 13 import org.elasticsearch.action.bulk.BulkRequestBuilder;14 import org.elasticsearch.client.Client;15 import org.elasticsearch.client.transport.TransportClient;16 import org.elasticsearch.common.settings.Settings;17 import org.elasticsearch.common.transport.InetSocketTransportAddress;18 import org.elasticsearch.transport.client.PreBuiltTransportClient;19 20 public class ElasticsearchBulkIn {21     22     private static Client client;23 24     /**25      * 從外部檔案大量匯入資料26      * @param args27      */28     public static void main(String[] args) {29 30         try {31 32             // 設定叢集名稱 33             Settings settings = Settings.builder().put("cluster.name", "elasticsearch").build();34             // 建立client35             client = new PreBuiltTransportClient(settings)36                     .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("172.16.0.157"), 9300));37 38             //FirstThread ft=new FirstThread(); // 建立FirstThread對象39             //ft.start();40             41             File article = new File("C:/Users/juyun/Desktop/al.json");42             FileReader fr=new FileReader(article);43             BufferedReader bfr=new BufferedReader(fr);44             String line=null;45             BulkRequestBuilder bulkRequest=client.prepareBulk();46             int count=0;47            /* while((line=bfr.readLine())!=null){48                 bulkRequest.add(client.prepareIndex("newindex","newhttp").setSource(line)); // 逐行寫入49                 count++;50                 System.out.println(count);51                 bulkRequest.execute().actionGet();52             }*/53             bulkRequest.execute().actionGet();54             bfr.close();55             fr.close();56         } catch (UnknownHostException e) {57             e.printStackTrace();58         } catch (FileNotFoundException e) {59             e.printStackTrace();60         } catch (IOException e) {61             e.printStackTrace();62         }63     }64 65     66     class FirstThread extends Thread{67         @Override68         public void run() {69             try{70                 File article = new File("C:/Users/juyun/Desktop/al.json");71                 FileReader fr=new FileReader(article);72                 BufferedReader bfr=new BufferedReader(fr);73                 String line=null;74                 BulkRequestBuilder bulkRequest=client.prepareBulk();75                 int count=0;76                 while((line=bfr.readLine())!=null){77                     bulkRequest.add(client.prepareIndex("newindex","newhttp").setSource(line)); // 逐行寫入78                     count++;79                     System.out.println(count);80                     bulkRequest.execute().actionGet();81                 }82                 bulkRequest.execute().actionGet();83                 bfr.close();84                 fr.close();85             }catch(Exception e){86             }87         }88     }89 }
ElasticsearchBulkIn

 

Elasticsearch5.0 Java Api(六) -- 大量匯入索引

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.