【ElasticSearch】在项目中如何使用ElasticSearch跟数据库同步数据

我们在项目中是如果需要使用到ElasticSearch,那么第一步就是在保持数据库的数据跟ElasticSearch的数据同步

那么接下来我们在laravle中操作一下这个实现的过程

创建控制器

命令:php artisan make:controller EditController

这个控制器就相当于是用户进行了提交了添加数据,然后使用dispatch这个方法,这个方法里边传的是一个模型操作实例
【ElasticSearch】在项目中如何使用ElasticSearch跟数据库同步数据_第1张图片

模型

然后需要在模型里边创建一个方法,用来处理同步到ElasticSearch的字段
【ElasticSearch】在项目中如何使用ElasticSearch跟数据库同步数据_第2张图片

创建队列

命令:php artisan make:job Test

在队列里边引入模型,然后实例化模型。在直接调用模型里边处理字段的方法,直接添加到ElasticSearch
【ElasticSearch】在项目中如何使用ElasticSearch跟数据库同步数据_第3张图片

goods = new Goods;
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        $data = $this->goods->toEsArray();
        app('es')->index([
            'index' => 'goods',
            'type' => '_doc',
            'id' => $data['id'],
            'body' => $data,
        ]);
    }
}

【ElasticSearch】在项目中如何使用ElasticSearch跟数据库同步数据_第4张图片

你可能感兴趣的:(laravle,ElasticSearch)