Рубин на рельсах - ультрасфинкс
Ruby on Rails - УльтраСфинкс
Привет, ребята, я использую Ultrasphinx для поиска.
У меня вопрос: у меня в фоновом режиме работает "rake ultrasphinx: daemon: start". Теперь, если у меня есть задание cron, которое регулярно выполняет "rake ultrasphinx: index", или демон позаботится об индексации при создании нового объекта.
Пожалуйста, дайте мне знать. Это своего рода чрезвычайная ситуация.
Спасибо
2 ответа
Вам нужно будет запустить задание cron, чтобы регулярно обновлять ваш индекс. Тем не менее, вы можете запустить грабли ultrasphinx:index:delta
обновлять только дельта-индекс, который содержит недавно измененные записи.
Время от времени вы можете также захотеть объединить ваш дельта-индекс с вашим основным индексом, используя задачу ultrasphinx:index:merge
Надеюсь это поможет.
Добавьте это в свою модель, если вы хотите использовать дельта-индексацию:
is_indexed :fields => ['column1', 'column2'], :delta => true
Запустите Ультрасфинкс:
грабли ультрасфинкса: daemon: старт
Добавьте к вашему CRON(я запускаю его каждые 10 минут, но окончательное решение остается за вашим приложением): rake ultrasphinx:index:delta
Вам нужно будет запускать rake ultrasphinx: index: main один раз в день, чтобы переместить содержимое дельты в основной индекс.
Источник: официальная документация.