Использование основных и дельта-индексов в сфинксе

Im переключение полнотекстового поиска на моем сайте на sphinx. Я буду использовать SphinxSE для выполнения поиска.

Я создал 2 индекса, как указано в руководстве: http://www.sphinxsearch.com/docs/manual-0.9.9.html#live-updates

Кажется, что он работает и индексирует разные вещи в своем собственном индексе, но Im несколько смущен тем, как я должен обрабатывать обновление, слияние и перестройку индекса.

Как я понимаю, мне нужно запустить "indexer delta -rotate" каждые 5 минут или около того, что добавит новые представления в индекс. Затем один раз в день я собирал дельта-индекс в основной индекс, запустив "indextate delta -rotate". то раз в месяц или около того я запустил "indexer -all", чтобы перестроить все индексы.

Я делаю это правильно, или я чего-то не хватает?

Ответ 1

- rotate будет просто создавать индекс в tmp (нужен дисковый пробел) и переключать + перезапускать searchd, когда это будет сделано.

о delta, вам нужно использовать предварительный запрос для вычисления "limit" max (id)  основные индексы id ниже предела, а delta - до этого предела.

если у вас есть временная метка (если она указана, если возможно), вы можете ее использовать

main → где timefile < Cегодня() delta → где timefile >= today()

Ответ 2

Звучит очень похоже на настройку, которую я сделал для клиента. И нет, поиск не прекратит работать во время обновлений. Из документов Sphinx:

- вращение используется для вращения индексов. Если у вас нет ситуации, когда вы можете воспользоваться функцией поиска в автономном режиме, не беспокоя пользователей, вы почти наверняка придется поиск выполняется при индексировании новых документы. --rotate создает вторую индекс, параллельный первому (в в том же месте, просто включив .new в имена файлов). После завершения индексатор уведомляет searchd посредством отправки Сигнал SIGHUP, и searchd будет попытаться переименовать индексы (переименование существующих для включения .old и переименование .new для замены их), а затем начать работу с более новые файлы. В зависимости от настройки of seamless_rotate, может быть небольшая задержка в возможности поиска новые индексы.