首页 > 解决方案 > 直接使用数据库更新内容时,如何在 Laravel 中使用适当的数据更新搜索索引?

问题描述

我正在为nurserypeople.com设置搜索功能,并且我正在使用Directus CMS 来管理和更新内容,而网站用户将与基于Laravel 构建的网络应用程序进行交互。

我将使用 Laravel Scout 作为搜索索引,我相信使用 Algolia 搜索 API。由于我将通过 Directus 进行更新,Directus 直接在数据库上进行编辑,而不是通过 Laravel(使用 save() 方法),我担心我的搜索索引不会在我编辑和制作时使用 Laravel Scout 更新自己更改内容。

有没有办法确保内容被正确编入索引,比如每周/每天一次,这样我每次更新内容时就不必通过命令行手动更新索引?

谢谢!

标签: phplaravelalgoliadirectus

解决方案


好吧,我找到了我自己问题的答案。

为了定期更新侦察索引,您需要在 App\Commands\Kernel.php 中添加一个时间表,以便该命令每天、每周或在您希望它运行的任何时候运行。

对于我的情况。我将每周运行一次 scout:import,它在内核中如下所示。

protected function schedule(Schedule $schedule)
{
    $schedule->command('scout:import')->weekly();
}

希望这对某人有帮助!


推荐阅读