当直接使用数据库更新内容时,如何使用 Laravel 中的正确数据更新搜索索引?
How can I keep a search index updated with proper data in Laravel, when updating content directly with database?
我正在为 nurserypeople.com 设置搜索功能,我正在使用 Directus CMS 来管理和更新内容,而网站用户将与基于 [=22] 构建的 Web 应用程序进行交互=].
我将使用 Laravel Scout 作为搜索索引,我相信 Algolia 搜索 api。由于我将通过 Directus 进行更新,它直接在数据库上进行编辑而不是通过 Laravel(使用 save() 方法),我担心我的搜索索引不会更新为 Laravel Scout 因为我自己编辑和更改内容。
有没有办法确保内容被正确索引,比如在 weekly/daily 的基础上,这样我就不必在每次更新内容时都通过命令行手动更新索引?
谢谢!
好吧,我找到了我自己问题的答案。
为了定期更新球探索引,您需要在 App\Commands\Kernel.php 中添加一个时间表,以便命令 运行 每天、每周或任何时候它到 运行.
对于我的情况。我打算每周 运行 scout:import,在内核中看起来像下面这样。
protected function schedule(Schedule $schedule)
{
$schedule->command('scout:import')->weekly();
}
希望这对某人有所帮助!
我正在为 nurserypeople.com 设置搜索功能,我正在使用 Directus CMS 来管理和更新内容,而网站用户将与基于 [=22] 构建的 Web 应用程序进行交互=].
我将使用 Laravel Scout 作为搜索索引,我相信 Algolia 搜索 api。由于我将通过 Directus 进行更新,它直接在数据库上进行编辑而不是通过 Laravel(使用 save() 方法),我担心我的搜索索引不会更新为 Laravel Scout 因为我自己编辑和更改内容。
有没有办法确保内容被正确索引,比如在 weekly/daily 的基础上,这样我就不必在每次更新内容时都通过命令行手动更新索引?
谢谢!
好吧,我找到了我自己问题的答案。
为了定期更新球探索引,您需要在 App\Commands\Kernel.php 中添加一个时间表,以便命令 运行 每天、每周或任何时候它到 运行.
对于我的情况。我打算每周 运行 scout:import,在内核中看起来像下面这样。
protected function schedule(Schedule $schedule)
{
$schedule->command('scout:import')->weekly();
}
希望这对某人有所帮助!