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