先上官方示例程式碼:官方示例
Java程式碼:
// 批次插入資料 public void InsertBatch() { try { // 設定叢集名稱 Settings settings = Settings.builder().put("cluster.name", "my-es-analyze").build(); // 建立client TransportClient client = new PreBuiltTransportClient(settings) .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("192.168.33.5"), 9300)) .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("192.168.33.50"), 9300)); /* 批次操作開始 */ BulkRequestBuilder bulkRequest = client.prepareBulk(); InsertDomain insertDomain = null; String json = null; // 讀取資料來源 excel/mysql等 List<List<String>> list = "你的資料來源"; if (list != null) { System.out.println("開始批次插入"); for (int i = 0; i < list.size(); i++) { // 資料讀取(略)根據自已的業務進行。 json = JSONUtils.toJSON(inputDomain); //轉Json bulkRequest.add(client.prepareIndex("index", "type").setSource(json)); //每一千條提交一次 if (i % 1000 == 0) { bulkRequest.execute().actionGet(); System.out.println("提交了:" + i); } } bulkRequest.execute().actionGet(); System.out.println("批次插入完畢"); } /* 批次操作結束 */ // 關閉client client.close(); } catch (Exception e) { e.printStackTrace(); } }