php - 直接使用数据库更新内容时,如何在 Laravel 中使用适当的数据更新搜索索引?
问题描述
我正在为nurserypeople.com设置搜索功能,并且我正在使用Directus CMS 来管理和更新内容,而网站用户将与基于Laravel 构建的网络应用程序进行交互。
我将使用 Laravel Scout 作为搜索索引,我相信使用 Algolia 搜索 API。由于我将通过 Directus 进行更新,Directus 直接在数据库上进行编辑,而不是通过 Laravel(使用 save() 方法),我担心我的搜索索引不会在我编辑和制作时使用 Laravel Scout 更新自己更改内容。
有没有办法确保内容被正确编入索引,比如每周/每天一次,这样我每次更新内容时就不必通过命令行手动更新索引?
谢谢!
解决方案
好吧,我找到了我自己问题的答案。
为了定期更新侦察索引,您需要在 App\Commands\Kernel.php 中添加一个时间表,以便该命令每天、每周或在您希望它运行的任何时候运行。
对于我的情况。我将每周运行一次 scout:import,它在内核中如下所示。
protected function schedule(Schedule $schedule)
{
$schedule->command('scout:import')->weekly();
}
希望这对某人有帮助!
推荐阅读
- r - 根据每个元素的平方和排列向量列表
- routes - 所有 api 操作的一条路线
- jsf - 在自动完成多选 PrimeFaces 中调用删除项目事件
- visual-studio-2015 - 在 Visual Studio 2015 中禁用遥测
- r - 使用 RMySQL 加载名为“order”的 MySQL 表
- concourse - Concourse Pipelines 与 Pivotal Tracker 的集成
- php - 如何使用 Eloquent (Laravel) 关系插入记录?
- math - 仅使用度数使物体绕另一个轨道运行(不是仅弧度整数数学)
- javascript - 带有 exec ruby 的异步函数
- postgresql - 如何根据日期选择 postgres 表中的行并将其存储在新表中?