• 9RestClient批量添加文档数据


    需求步骤

    需求:利用BulkRequest批量将数据库数据导入到索引库中。

    步骤如下:

    • 利用mybatis-plus查询酒店数据。

    • 将查询到的酒店数据(Hotel)转换为文档类型数据(HotelDoc)。

    • 利用JavaRestClient中的BulkRequest批处理,实现批量新增文档。

    语法说明

    批量处理BulkRequest,其本质就是将多个普通的CRUD请求组合在一起发送。

    其中提供了一个add方法,用来添加其他请求:

    可以看到,能添加的请求包括:

    • IndexRequest,也就是新增

    • UpdateRequest,也就是修改

    • DeleteRequest,也就是删除

    因此Bulk中添加了多个IndexRequest,就是批量新增功能了。

    单元测试

     1   /**
     2      * 批量添加数据库的数据
     3      * @throws IOException
     4      */
     5     @Test
     6     void testBulkRequest() throws IOException {
     7         // 查询数据库中所有的酒店数据
     8         List<Hotel> list = hotelService.list();
     9 
    10         // 1.准备Request
    11         BulkRequest request = new BulkRequest();
    12         // 2.准备参数
    13         for (Hotel hotel : list) {
    14             // 2.1.转为HotelDoc
    15             HotelDoc hotelDoc = new HotelDoc(hotel);
    16             // 2.2.转json
    17             String json = JSON.toJSONString(hotelDoc);
    18             // 2.3.添加请求
    19             request.add(new IndexRequest("hotel").id(hotel.getId().toString()).source(json, XContentType.JSON));
    20         }
    21 
    22         // 3.发送请求
    23         client.bulk(request, RequestOptions.DEFAULT);
    24     }
    View Code

    其实还是三步走:

    1)创建Request对象。这里是BulkRequest。

    2)准备参数。批处理的参数,就是其它Request对象,这里就是多个IndexRequest。

    3)发起请求。这里是批处理,调用的方法为client.bulk()方法。

  • 相关阅读:
    分布式训练基本原理
    服务化部署框架Paddle Serving
    Paddle Inference原生推理库
    源码编译优化
    推理部署概述
    深度学习模型组网
    在这里
    什么是响应式编程,为什么使用它?
    时间管理:如何充分利用你的24小时-吉姆·兰德尔.pdf
    Win10激活工具
  • 原文地址:https://www.cnblogs.com/liaowenhui/p/16610265.html
Copyright © 2020-2023  润新知