微服务框架
【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】
SpringCloud微服务架构
文章目录
- 微服务框架
- SpringCloud微服务架构
- 21 RestClient 操作文档
- 21.5 批量导入文档
- 21.5.1 批量导入文档
21 RestClient 操作文档
21.5 批量导入文档
21.5.1 批量导入文档
案例:利用JavaRestClient批量导入酒店数据到ES
需求:批量查询酒店数据,然后批量导入索引库中
思路:
-
利用mybatis-plus查询酒店数据
-
将查询到的酒店数据(Hotel)转换为文档类型数据(HotelDoc)
-
利用JavaRestClient中的Bulk批处理,实现批量新增文档,示例代码如下
直接试试
新增一个测试方法
//批量插入文档
@Test
void testBulkRequest() throws IOException {
//批量查询酒店数据
List<Hotel> hotels = hotelService.list();
//1. 创建Request
BulkRequest request = new BulkRequest();
//2. 准备参数,添加多个新增的Request
for (Hotel hotel : hotels) {
//转换为文档类型HotelDoc
HotelDoc hotelDoc = new HotelDoc(hotel);
//创建新增文档的Request 对象
request.add(new IndexRequest("hotel")
.id(hotelDoc.getId().toString())
.source(JSON.toJSONString(hotelDoc),XContentType.JSON));
}
//3. 发送请求
client.bulk(request , RequestOptions.DEFAULT);
}
直接运行这个测试
妙啊,它绿了
直接查看kibana
批量查询 DSL: GET /hotel/_search
可以看到一共查到了201 条数据,
没毛病,全部插进去了