我已经安装并配置了meilisearch + Laravel Scout包。
我的模型:
class Post extends Model
{
use Searchable;
}
当我运行php artisan scout:import 'AppModelsPost'
时它返回:
Imported [AppModelsPost] models up to ID: 5
All [AppModelsPost] records have been imported.
但是当我检查索引时,它是空的。为什么?
正在创建索引,但是没有导入数据
相同的配置meilisearch和Scout包,适用于其他一些型号。
我刚刚遇到这个问题,遇到了你的问题。我想你没有指定索引中应该存储什么,对吧?
。在您的模型中,您是否创建了如下所示的toSearchableArray
方法…
public function toSearchableArray(): array
{
return [
'name' => $this->name,
];
}
如果你有,事实证明你的toSearchableArray
方法必须同时返回数组内的主键,否则记录不会被索引。
public function toSearchableArray(): array
{
return [
'id' => $this->getKey(), // this *must* be defined
'name' => $this->name,
];
}
您可以尝试设置:
SCOUT_QUEUE=false
检查队列是否有问题,并再次运行导入。
对于索引,您可以尝试:
php artisan scout:index posts
如果您的队列没有其他问题,请再次运行导入。
如果您有SCOUT_QUEUE=true
,那么请使用php artisan queue:work --daemon
启动您的队列,您的数据将开始导入。