Я прочитал документацию по Sphinx и различные ресурсы, но меня смущает процесс поддержки главных и дельта-индексов.Пожалуйста, дайте мне знать, если это правильно:
Есть таблица, которая разбивает поисковый индекс на last_update_time
(НЕ идентификатор, как в учебнике http://sphinxsearch.com/docs/1.10/delta-updates.html)
Обновление дельта-индекса каждые 15 минут. Дельта-индекс захватывает только те записи, которые были обновлены> last_update_time
:
indexer --rotate --config /opt/sphinx/etc/sphinx.conf delta
Обновление основного индекса каждый час путем слияния дельты с использованием:
indexer --merge main delta --merge-dst-range deleted 0 0 --rotate
Предварительный запрос SQL обновит last_update_time
до NOW()
, что приведет к повторному разбиению индексов
Путаница: произойдет ли объединение дозапрос SQL?
После обновления основного индекса немедленно обновите дельта-индекс, чтобы очистить его:
indexer --rotate --config /opt/sphinx/etc/sphinx.conf delta
РЕДАКТИРОВАТЬ: КакБудет ли удаление записей даже работать? Так как дельта-индекс будет содержать удаленные записи, записи будут удалены из поисковых запросов только после слияния дельта-индекса в основной?