:::tips 批量处理需要使用BulkRequest对象,其本质就是将多个普通的CRUD请求组合在一起发送,可以使用BulkRequest对象的add方法,用来添加其他多个请求,能添加的请求包括:

    • IndexRequest,新增
    • UpdateRequest,修改
    • DeleteRequest,删除

    因此向BulkRequest对象中添加多个IndexRequest,就是批量新增 :::

    1. @SpringBootTest
    2. public class MyTest{
    3. //注入RestHighLevelClient对象
    4. @Autowired
    5. private RestHighLevelClient restHighLevelClient;
    6. @Test
    7. public void test() throws IOException {
    8. //批量查询数据库中的数据
    9. List<类名> 集合对象名 = xxxService.list();
    10. //创建BulkRequest请求对象
    11. BulkRequest bulkRequest = new BulkRequest();
    12. //遍历集合
    13. for (类名 对象名 : 集合对象名) {
    14. //将对象转为文档对象
    15. 文档类名 文档对象名 = new 文档类名(对象名);
    16. //在BulkRequest请求对象中添加IndexRequest请求对象
    17. bulkRequest.add(
    18. new IndexRequest(索引库名)
    19. .id(文档对象名.getId().toString())
    20. .source(JSON.toJSONString(文档对象名), XContentType.JSON)
    21. );
    22. }
    23. //发送请求
    24. restHighLevelClient.bulk(bulkRequest, RequestOptions.DEFAULT);
    25. }
    26. }