После установки сфинкса в директории, куда он установится ( в дебиане/убунту это обычно/usr/local/bin/, у бздунов, если не ошибаюсь /opt/local/bin/) создается три приложения:
1) searchd. Это, собственно, сам демон Sphinx'a.
2) search. Утилита для поиска из консоли
3) и файл indexer, который производит индексацию БД.
Для чего же нужен indexer?
Итак, как уже писал товарищ kruftвот тут
командой /usr/local/sphinx/bin/indexer --all мы запускаем первичную индексацию БД, для того, чтобы Сфинксу было где искать. После чего запускаем сам Сфинкс
Ну а что происходит, когда мы запускаем
?
файл indexer добавляет полученные за n часов (минут, в зависимости от настройки cron) к уже существующим), в данном случае для индексов blogs (т.е. поиска по блогам) и перенапрявляет вывод приложения в никуда (> /dev/null 2>&1).
следовательно. если вы хотите обновлять индексы не только по блогам, то вам следует добавить и остальные индексы (такие как usersIndex, а также указанные в вышеприведенном мануале topicIndex и commentsIndex)
Ну и напоследок.
Может еще добавить /usr/local/bin/indexer --all --rotate
По этому поводу уже говорили
Самый простой способ запустить индексацию — это выполнить или добавить в планировщик команду /usr/local/sphinx/bin/indexer --all
, однако данный способ является сильно неоптимальным, поскольку топики обновляются (точнее появляются новые) значительно реже, нежели комментарии, поэтому частоту обновления индекса комментариев должны быть больше.
правда тут небольшая ошибка была допущена.
данную команду нельзя запускать при включенном сфинксе, он просто не отработает :)
правильней команда будет /usr/local/bin/indexer --all --rotate, но тут уже как вы пожелаете. Управление с помощью индексом позволит вам распределить нагрузку, поскольку действительно топики, блоги и юзеры появляются гораздо реже комментариев.
Поставил, работает. Пара вопросов, он пользователей должен просто по имени искать? Что то у меня не ищет, пишет ничего не нашлось. И такой вопрос в readme модкуля сказано добавить в крон
/usr/local/bin/indexer --rotate blogsIndex > /dev/null 2>&1
/usr/local/bin/indexer --rotate usersIndex > /dev/null 2>&1
Больше ничего не надо?
Как насчет топиков и комментов?
Может еще добавить /usr/local/bin/indexer --all --rotate
После установки сфинкса в директории, куда он установится ( в дебиане/убунту это обычно /usr/local/bin/, у бздунов, если не ошибаюсь /opt/local/bin/) создается три приложения:
1) searchd. Это, собственно, сам демон Sphinx'a.
2) search. Утилита для поиска из консоли
3) и файл indexer, который производит индексацию БД.
Для чего же нужен indexer?
Итак, как уже писал товарищ
командой /usr/local/sphinx/bin/indexer --all мы запускаем первичную индексацию БД, для того, чтобы Сфинксу было где искать. После чего запускаем сам Сфинкс
Ну а что происходит, когда мы запускаем
?
файл indexer добавляет полученные за n часов (минут, в зависимости от настройки cron) к уже существующим), в данном случае для индексов blogs (т.е. поиска по блогам) и перенапрявляет вывод приложения в никуда (> /dev/null 2>&1).
следовательно. если вы хотите обновлять индексы не только по блогам, то вам следует добавить и остальные индексы (такие как usersIndex, а также указанные в вышеприведенном мануале topicIndex и commentsIndex)
Ну и напоследок.
По этому поводу уже говорили
правда тут небольшая ошибка была допущена.
данную команду нельзя запускать при включенном сфинксе, он просто не отработает :)
правильней команда будет
/usr/local/bin/indexer --all --rotate, но тут уже как вы пожелаете. Управление с помощью индексом позволит вам распределить нагрузку, поскольку действительно топики, блоги и юзеры появляются гораздо реже комментариев.
/usr/local/bin/indexer --rotate blogsIndex > /dev/null 2>&1
/usr/local/bin/indexer --rotate usersIndex > /dev/null 2>&1
Больше ничего не надо?
Как насчет топиков и комментов?
Может еще добавить /usr/local/bin/indexer --all --rotate
Спасибо.