Elasticsearch5.x批量插入数据(Java)
2017-04-27 10:33 猎手家园 阅读(2391) 评论(0) 编辑 收藏 举报先上官方示例代码:官方示例
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(); } }
欢迎关注我的公众号:云栖语,不一样的研发视界。

云栖语微信公众号:change-1978
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术