在Laravel中,当我直接用数据库更新内容时,我怎样才能保持搜索索引有正确的数据更新?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Laravel中,当我直接用数据库更新内容时,我怎样才能保持搜索索引有正确的数据更新?相关的知识,希望对你有一定的参考价值。

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

我将使用Laravel Scout来做搜索索引, 我相信还有Algolia搜索api. 由于我将通过Directus进行更新, Directus直接在数据库中进行编辑, 而不是通过Laravel(使用save()方法), 我担心当我自己编辑和修改内容时, 我的搜索索引不会被Laravel Scout更新.

有什么方法可以保证内容会被正确的索引, 比如每周每天更新一次, 这样我就不用每次更新内容时都要通过命令行手动更新索引了?

谢谢你!我正在努力设置搜索功能,比如说每周每日,这样我就不用在每次更新内容时通过命令行手动更新索引了。

答案

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

为了定期更新球探索引,你需要在AppCommandsKernel.php中添加一个时间表,让命令每天、每周或任何时候运行。

在我的例子中。我打算每周运行一次scout:import,在Kernel中是这样的。

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

希望这能帮到你

以上是关于在Laravel中,当我直接用数据库更新内容时,我怎样才能保持搜索索引有正确的数据更新?的主要内容,如果未能解决你的问题,请参考以下文章

用ajax加载laravel视图

不允许 Laravel 和 Ajax 更新

Laravel:更新和创建时验证唯一

Laravel 路由文件的更新没有效果

更新图像变为空 Laravel

Laravel 5.4:无法在视图中显示 crud 内容