Сфинкс не обновляется до перезапуска службы? - PullRequest
1 голос
/ 13 декабря 2011

У меня Sphinx работает как служба на Windows Server 2003

У меня также есть ff cronjob, запускаемый каждые 2 минуты для обновления индекса:

C:\sphinx\bin\indexer.exe -c C:\sphinx\bin\sphinx.conf --rotate delta

и каждые 12 часов:

C:\sphinx\bin\indexer.exe -c C:\sphinx\bin\sphinx.conf --rotate --all

Однако как-то выполнялась задача каждые 1 м, но на моем сайте обновлений не было вообще. Повторный индекс успешно выполнен.

Единственный раз, когда он обновляется на сайте, это перезапускать мой сервис.

В чем здесь может быть проблема? Я не мог создать задание cron для перезапуска службы только для обновления. Так как это может серьезно повлиять на операцию поиска.

1 Ответ

2 голосов
/ 13 декабря 2011

Попробуйте изменить настройку preopen_indexes на 0 (ноль).

У меня была такая же проблема.Если вы запустите службу searchd как отладочную, вы увидите, что она выдает ошибку «Сломанный канал».Это вызвано тем, что у процесса его индексные файлы всегда открыты.Если вы установите preopen_indexes в 0, он будет открываться только при поиске (Да, это немного медленнее, чем один раз)

Я нашел ответ на форуме сфинксов, http://sphinxsearch.com/forum/view.html?id=572

...