6.8. 索引商品数据
索引商品数据
上一节我们创建了商品索引,并手动将一个商品存入了 Elasticsearch,接下来我们需要将这个过程写成代码,当创建新的商品或者修改了商品信息时能够自动同步到 Elasticsearch。
1. 同步已有数据
首先我们需要把系统中已有的商品数据同步到 Elasticsearch 中,可以创建一个 Artisan 命令来实现:
$ php artisan make:command Elasticsearch/SyncProducts
app/Console/Commands/Elasticsearch/SyncProducts.php
<?php
namespace App\Console\Commands\Elasticsearch;
use App\Models\Product;
use Illuminate\Console\Command;
class SyncProducts extends Command
{
protected $signature = 'es:sync-products';
protected $description = '将商品数据同步到 Elasticsearch';
public function __construct()
{
parent::__construct();
}
public function handle()
{
// 获取 Elasticsearch 对象
$es = app('es');
Product::query()
// 预加载 S...