首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel (Meilisearch)说输入了数据,但没有

Laravel (Meilisearch)说输入了数据,但没有
EN

Stack Overflow用户
提问于 2021-08-01 23:41:59
回答 3查看 2.3K关注 0票数 3

我已经安装和配置了meilisearch + Laravel软件包。

我的模型:

代码语言:javascript
复制
class Post extends Model
{
    use Searchable;
}

当我运行php artisan scout:import 'App\Models\Post'时,它会返回:

代码语言:javascript
复制
Imported [App\Models\Post] models up to ID: 5
All [App\Models\Post] records have been imported.

但是当我检查索引时,它是空的。为什么?

正在创建索引,但没有导入数据。meilisearch和Scout包的配置相同,适用于其他一些模型.

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-08-27 12:35:19

我自己刚碰到这个问题,碰到了你的问题。我不认为您是在指定索引中应该存储的内容,对吗?

即在您的模型中,您是否创建了如下所示的toSearchableArray方法.

代码语言:javascript
复制
public function toSearchableArray(): array
{
    return [
        'name' => $this->name,
    ];
}

如果有,那么您的toSearchableArray方法必须返回数组中的主键,否则记录不会被索引。

代码语言:javascript
复制
public function toSearchableArray(): array
{
    return [
        'id'   => $this->getKey(), // this *must* be defined
        'name' => $this->name,
    ];
}
票数 9
EN

Stack Overflow用户

发布于 2021-08-04 08:27:54

您可以尝试设置:

代码语言:javascript
复制
SCOUT_QUEUE=false

若要检查队列是否有问题,请再次运行导入。

票数 3
EN

Stack Overflow用户

发布于 2021-08-27 14:39:41

对于索引,您可以尝试:

php artisan scout:index posts

您的队列没有其他问题,并再次运行导入。

如果您有SCOUT_QUEUE=true,那么请使用php artisan queue:work --daemon启动您的队列,您的数据将开始导入。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68615150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档