Как можно обновить поисковый индекс с правильными данными в Laravel при обновлении контента непосредственно с базой данных? - PullRequest
1 голос
/ 23 марта 2020

Я работаю над настройкой функции поиска для nurserypeople.com и использую Directus CMS для управления и обновления контента, в то время как пользователи веб-сайта будут взаимодействовать с веб-приложением, построенным на Laravel.

Я буду использовать Laravel Разведчик для поискового индекса, и Algolia search api, я полагаю. Поскольку я буду выполнять обновления через Directus, который выполняет редактирование непосредственно в базе данных, а не через Laravel (используя метод save ()), я обеспокоен тем, что мой поисковый индекс не будет обновлен с помощью Laravel Scout как Я сам редактирую и вносю изменения в контент.

Есть ли способ обеспечить правильную индексацию контента, например, еженедельно / ежедневно, чтобы мне не приходилось вручную обновлять индекс через командную строку каждый раз, когда я обновляю контент?

Спасибо!

1 Ответ

0 голосов
/ 20 апреля 2020

Ну, я нашел ответ на свой вопрос.

Чтобы периодически обновлять индекс разведчика, необходимо добавить расписание в App \ Commands \ Kernel. php, чтобы команда запускалась ежедневно, еженедельно или всякий раз, когда вы хотите, чтобы она запускалась.

Для моего случая. Я собираюсь запускать scout: import на еженедельной основе, что в ядре выглядит следующим образом:

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

Надеюсь, это кому-нибудь поможет!

...