#sphinx
#sphinx
Вопрос:
Может кто-нибудь объяснить мне, в чем разница между параметрами rorate и no-rorate в индексации Sphinxsearch? Я ссылался на документацию Sphinx, но я чувствовал, что объяснение, данное там, немного сложно для меня понять.
Ответ №1:
Что indexer --rotate
делает, так это отправляет сигнал HUP запущенному searchd (он понимает, что из идентификатора процесса, указанного в файле, указанном в pid_file
в конфигурации, вы указываете его в --config
или -c
). Если не запущен searchd, сигнал отправлен не будет. Если запущен searchd, но вы пытаетесь выполнить индексацию без --rotate
, это выдаст предупреждение.
Идея заключается:
- не запускать searchd: вы просто создаете новый индекс. Все просто.
- запущен searchd, и вы индексируете с помощью
--rotate
: когда ваш индекс построен, имена его файлов получают суффикс.new.
, и индексатор отправляет сигнал в searchd. Searchd принимает сигнал и заменяет существующие индексные файлы новыми (с суффиксом.new.
), он также выполняет некоторые другие внутренние операции, и в целом это называется поворотом индекса.
Другой способ поворота — создать свой индекс в новом месте, а затем вызвать RELOAD INDEX idx ИЗ