0.00
Рейтинг
2.57
Сила

Владимир

  • avatar kerby
  • 1
итак. проведу небольшой ликбез.

После установки сфинкса в директории, куда он установится ( в дебиане/убунту это обычно /usr/local/bin/, у бздунов, если не ошибаюсь /opt/local/bin/) создается три приложения:
1) searchd. Это, собственно, сам демон Sphinx'a.
2) search. Утилита для поиска из консоли
3) и файл indexer, который производит индексацию БД.

Для чего же нужен indexer?
Итак, как уже писал товарищ kruft вот тут
командой /usr/local/sphinx/bin/indexer --all мы запускаем первичную индексацию БД, для того, чтобы Сфинксу было где искать. После чего запускаем сам Сфинкс
Ну а что происходит, когда мы запускаем
/usr/local/bin/indexer --rotate blogsIndex > /dev/null 2>&1
?
файл 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, но тут уже как вы пожелаете. Управление с помощью индексом позволит вам распределить нагрузку, поскольку действительно топики, блоги и юзеры появляются гораздо реже комментариев.
  • avatar yuri25
  • 0
Поставил, работает. Пара вопросов, он пользователей должен просто по имени искать? Что то у меня не ищет, пишет ничего не нашлось. И такой вопрос в 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

Спасибо.