php调用es批量操作
批量创建文档(有id,且id存在则更新。没有则都是新增)
faker依赖
大家可以用faker 来生成数据。挺好用的。
依赖包地址:https://packagist.org/packages/fzaninotto/faker
composer直接下载,下载完开箱即可用。
在这个目录下可以看到他的语言支持:Provider
目前还是支持74个语言,默认:en_US。
生成数据
我们把之前test的整个索引删掉,再重建创建。然后插入10条数据。
10条数据都指定id,但是用户名和用户地址随机
$esSer = new \app\ser\EsServer('test');
$faker = \Faker\Factory::create('zh_CN');
$esSer->delIndex();
$arr = [];
for ($i = 0; $i < 10; ++$i) {
$arr[] = [
'id' => $i + 1,
'name' => $faker->name,
'address' => $faker->state . $faker->city . $faker->area . $faker->country,
];
}
$esSer->createIndex();
$res = $esSer->putDocs($arr);
我们看下,我们的test索引里插入了什么数据。
这里使用到search功能,我们放空,就是查询该索引下的所有数据。
$esSer = new \app\ser\EsServer('test');
$res = $esSer->search();
dump($res);

批量获取文档
批量通过id获取文档。
我们来通过id 1和id3获取文档
$esSer = new \app\ser\EsServer('test');
$res = $esSer->getDocs([1,3]);

文档更新时间: 2020-09-09 15:29 作者:young