# 基于 mget 实现多辆汽车的配置与价格对比

场景:一般来说,我们都可以在一些汽车网站上,或者在混合销售多个品牌的汽车 4S 店的内部, 都可以在系统里调出来多个汽车的信息,放在网页上,进行对比

mget:一次性将多个 document 的数据查询出来,也就是批量 id 获取

手动插入一条数据

PUT /car_shop/cars/2
{
	"brand": "奔驰",
	"name": "奔驰C200",
	"price": 350000,
	"produce_date": "2017-01-05"
}

1
2
3
4
5
6
7
8

mget 语法

@Test
public void mget() {
    MultiGetResponse responses = client.prepareMultiGet()
            .add("car_shop", "cars", "1")
            .add("car_shop", "cars", "2")
            .get();
    responses.forEach(item -> {
                GetResponse response = item.getResponse();
                if (response.isExists()) {
                    System.out.println(response.getSourceAsString());
                }
            }
    );
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14

响应结果

{"brand":"宝马","name":"宝马320","price":310000,"produce_date":"2017-01-01"}
{
	"brand": "奔驰",
	"name": "奔驰C200",
	"price": 350000,
	"produce_date": "2017-01-05"
}
1
2
3
4
5
6
7

很奇怪的响应展示,用 java api 插入的没有格式化的 json 信息