Laravel Scout (Meilisearch) - 说导入数据,但没有
Laravel Scout (Meilisearch) - Says imported data, but doesn't
我已经安装并配置了 meilisearch + Laravel Scout 包。
我的模特:
class Post extends Model
{
use Searchable;
}
当我运行php artisan scout:import 'App\Models\Post'
它returns:
Imported [App\Models\Post] models up to ID: 5
All [App\Models\Post] records have been imported.
但是当我检查索引时,它是空的。为什么?
The index is being created, but the data doesn't get imported.
The same configuration of meilisearch and Scout package, works for some other models.
您可以尝试设置:
SCOUT_QUEUE=false
检查您的队列是否没有问题并运行再次导入。
我自己刚刚 运行 研究过这个问题并遇到了你的问题。我不认为你在指定索引中应该存储什么,是吗?
即在您的模型中,您是否创建了如下所示的 toSearchableArray
方法...
public function toSearchableArray(): array
{
return [
'name' => $this->name,
];
}
如果有的话,原来你的toSearchableArray
方法必须也return数组内的主键,否则记录得不到索引。
public function toSearchableArray(): array
{
return [
'id' => $this->getKey(), // this *must* be defined
'name' => $this->name,
];
}
对于索引你可以试试:
php artisan scout:index posts
您的队列没有其他问题,运行 再次导入。
如果您有 SCOUT_QUEUE=true
那么请使用 php artisan queue:work --daemon
启动您的队列,您的数据将开始导入。
我已经安装并配置了 meilisearch + Laravel Scout 包。
我的模特:
class Post extends Model
{
use Searchable;
}
当我运行php artisan scout:import 'App\Models\Post'
它returns:
Imported [App\Models\Post] models up to ID: 5
All [App\Models\Post] records have been imported.
但是当我检查索引时,它是空的。为什么?
The index is being created, but the data doesn't get imported.
The same configuration of meilisearch and Scout package, works for some other models.
您可以尝试设置:
SCOUT_QUEUE=false
检查您的队列是否没有问题并运行再次导入。
我自己刚刚 运行 研究过这个问题并遇到了你的问题。我不认为你在指定索引中应该存储什么,是吗?
即在您的模型中,您是否创建了如下所示的 toSearchableArray
方法...
public function toSearchableArray(): array
{
return [
'name' => $this->name,
];
}
如果有的话,原来你的toSearchableArray
方法必须也return数组内的主键,否则记录得不到索引。
public function toSearchableArray(): array
{
return [
'id' => $this->getKey(), // this *must* be defined
'name' => $this->name,
];
}
对于索引你可以试试:
php artisan scout:index posts
您的队列没有其他问题,运行 再次导入。
如果您有 SCOUT_QUEUE=true
那么请使用 php artisan queue:work --daemon
启动您的队列,您的数据将开始导入。