欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

ES批量提交-RestHighLevelClient

发布时间:2025/3/15 编程问答 34 豆豆
生活随笔 收集整理的这篇文章主要介绍了 ES批量提交-RestHighLevelClient 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

引包:

<dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId><version>6.8.13</version></dependency>

批量提交: 

import org.apache.commons.lang3.RandomStringUtils; import org.apache.http.HttpHost; import org.elasticsearch.action.bulk.BulkRequest; import org.elasticsearch.action.bulk.BulkResponse; import org.elasticsearch.action.index.IndexRequest; import org.elasticsearch.client.RequestOptions; import org.elasticsearch.client.RestClient; import org.elasticsearch.client.RestClientBuilder; import org.elasticsearch.client.RestHighLevelClient;import java.io.IOException; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map;public class Test {private static RestHighLevelClient restClient;public static void main(String[] args) {RestClientBuilder builder = RestClient.builder( // new HttpHost("21.145.229.153",9200,"http"), // new HttpHost("21.145.229.253",9200,"http"),new HttpHost("192.168.0.1", 9200, "http")); // CredentialsProvider credentialsProvider = new BasicCredentialsProvider(); // credentialsProvider .setCredentials(AuthScope.ANY,new UsernamePasswordCredentials("elastic","1qaz!QAZ")); // builder.setHttpClientConfigCallback(f->f.setDefaultCredentialsProvider(credentialsProvider ));restClient = new RestHighLevelClient(builder);/*** 造点假数据*/List<Map<String, Object>> list = new ArrayList<>();for (int i = 0; i < 100; i++) {Map<String, Object> map = new HashMap<>();map.put("message", RandomStringUtils.randomAlphanumeric(28));map.put("user", RandomStringUtils.randomAlphanumeric(8));map.put("postDate", new Date());list.add(map);}/*** 批量从插入数据*/BulkRequest request = new BulkRequest();for (int j = 0; j < list.size(); j++) {Map<String, Object> item = list.get(j);request.add(new IndexRequest("TestIndex", "TestType").source(item));}try {BulkResponse bulk = restClient.bulk(request, RequestOptions.DEFAULT);if (bulk.status().getStatus() == 200) {System.out.println("批量插入成功!");}} catch (IOException e) {e.printStackTrace();}} }

 

与50位技术专家面对面20年技术见证,附赠技术全景图

总结

以上是生活随笔为你收集整理的ES批量提交-RestHighLevelClient的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。