Обращаем ваше внимание, что данный модуль устарел и мы рекомендуем использовать Advanced sphinx для Drupal 6.

Установка модуля

  1. Скачайте архив модуля на локальный компьютер - ссылка
  2. Распакуйте архив модуля
  3. Залейте папку модуля в sites/all/modules/
  4. На странице списка модулей включите модуль sphinxsearch
  5. После установки модуля на странице списке модулей появится сообщение с предложением перейти по ссылке. Если Вы перейдете по этой ссылке, настройка Sphinx произойдет автоматически.
     
  6. В течении некоторого времени будет происходить автонастройка Sphinx, после чего Вас перенаправит на эту страницу, где Вы можете проверить как работает поиск.
     
  7. Выведите на странице администрирования блоков admin/build/block блок Sphinx search box - с помощью этого блока пользователи смогут искать контент на Вашем сайте.
     
  8. Теперь Вы сможете начать поиск на сайте.
     
  9. Страница результатов поиска
     

Настройка Sphinxsearch

В этом разделе будет описано возможности ручной настройки модуля Sphinxsearch. 
Это только для ручной настройки. По умолчанию настройки все произведены и модуль работает в оптимальном режиме.
  1. Зайдите на страницу admin/settings/sphinxsearch/commands. Вы увидите следующую страницу. Ниже будет предоставлено объяснение к каждому пункту настройки.
     
  2. Start sphinx daemon. Этой командой Вы запустите поисковый демон.
  3. Stop sphinx daemon. Этой командой Вы остановите поисковый демон.
  4. Start full indexing site. Этой командой Вы запустите полную индексацию содержимого сайта. Чем больше материалов у Вас на сайте, тем больше времени займет индексация. Во время выполнения этой операции поисковый демон должен быть остановлен. Использовать при первоначальном индексировании главного индекса.
  5. Start delta indexing site. Для начала индексации delta-индекс. При первоначальной полной индексации(п.4) delta-индекс не индексируется - поэтому перед тем как запустить delta-индекс, Вам нужно сначала запустить полную индексацию(п.4), запустить поисковый демон(п.2), и потом уже запустить индексирование delta-индекс(п.5). Использовать при первональном индексировании delta-индекса.
  6. Start delta reindexing with rotate option. Запускает индексирование delta-индекса без остановки демона сфинкса. Использовать при всех последующих индексация delta-индекса, кроме первого.
  7. Enter periodicity for delta reindex(in minutes). Для того чтобы в индекс Sphinx добавлялись новые материалы, нужно установить, как часто контент на сайте будет переиндексироватся и добавляться в delta-индекс.  Переиндексация происходит по крону, поэтому нужно настроить регулярный запуск крона. Если Вы не хотите, чтобы происходила переиндексация контента, установите этот параметр равным 0. По-умолчанию индексация delta-индекса происходит раз в 5 минут - это позволяет снизить нагрузку на сервер (индексатор индексирует меньшее количество материалов), и держать индекс в актуальном состоянии.
  8. Enter periodicity for merging delta and main index(in days). delta-индекс не предназначен для постоянного хранения индексов - он предназначен для хранения только новых данных. Когда он увеличивается в размерах, эффективность частой индексации delta-индекса падает, поэтому время от времени основной индекс и delta-индекс нужно объединять. Объединение индексов(merge) происходит по крону, поэтому нужно настроить регулярный запуск крона. По-умолчанию объединение индексов delta-индекса происходит раз в 7 дней.  Если Вы не хотите, чтобы происходило объединение индексов, установите этот параметр равным 0.

Продвинутое использование Sphinxsearch 

  1. Файлы конфигурации, логов, индексов Sphinxsearch находится в папке ~sphinx/example.com/
  2. По-умолчанию в файле конфигурации, главный и дельта индексы. 
  3. Все новые материалы попадают сначала в delta индекс (индексация происходит каждые 5 минут по крону). А раз в неделю содержимое  delta-индекса переносятся в главный индекс.
  4. Все события переиндексации заносятся в системный лог сайта(если у Вас включен модуль Database logging). В системном журнале Вы сможете посмотреть, все ли материалы успешно проиндексировались.
  5. Также, чтоб ваш демон запускался сразу же после ребута сервера, нужно в крон прописать следующую задачу: 
    @reboot /usr/sbin/sphinx-searchd --config /home/uXXX/sphinx/example.com/config/sphinx.conf
    Строчку example.com нужно заменить на Ваш домен 

P.S. Эта документация с описанием того, как можно установить нашу сборку sphinxsearch на наших серверах. Обращаем Ваше внимание, что сборка заточена исключительно под наши сервера, основная ее цель - сделать более простой и удобной установку модуля  sphinxsearch.

Если у Вас возникли проблемы с модулем, проверьте пожалуйста, или у Вас стоит последняя версия. Changelog предоставлен внизу. У Вас должна быть первая версия сверху. Версии можно проверять по файлу CHANGELOG.txt в середине модуля. Если файла нет, значит у Вас нулевая версия модуля.

CHANGELOG:

23.07.2011 - Version 1.1. При запуске крона, не индексировался delta-индекс - поправили теперь индексируется.

24.08.2011 - Version 1.2. После рестарта Apache убивался процесс демона Sphinx. Поправили, теперь после рестарта поиск и дальше будет работать.

7.02.2012 - Version 1.3. Мелкие фиксы + возможность формировать конфу в админке

Комментарии (24)

m.vitaly #
11 лет 40 недель назад
сисадмин

Пока есть определенные проблемы в работе данной связки на Shared хостинге - мы ведем работы по адаптации данного модуля к нашим условиям, к сожалению не так быстро как хотелось бы. На SD тарифах и на выделенных серверах данные модули будут работать нормально.

С уважением, Виталий
keereel #
11 лет 40 недель назад
старейшина

Как обстоят дела на сегодняшний день для d7? Будет ли работать без танцев с бубнами связка http://drupal.org/project/search_api и http://drupal.org/project/search_api_sphinx?

shevgeny #
11 лет 32 недели назад
старейшина

Без бубнов и даже с ними работать не будет. В поддержке ответили, что модуль http://drupal.org/project/search_api_sphinx работает через unix-сокеты, использовать которые на виртуальном хостинге возможности не представляется. Печально :(


annya #
11 лет 32 недели назад
гость

Здравствуйте

Ситуация несколько иная. Через unix-сокеты у нас работать можно, но к сожалению, модуль Search API работает через порт, поэтому его у нас запустить невозможно.

shevgeny #
11 лет 40 недель назад
старейшина

Сейчас как раз решил протестировать. Пока не могу понять, что нужно указывать в поле Base directory.


HydroBla... #
11 лет 42 недели назад
старейшина

Вопрос решен, мои настройки сильно отличались от необходимых.

it-patrol лучший =)

phabyd #
11 лет 48 недель назад
старейшина

если бы вы подняли solr было б чудно


m.vitaly #
11 лет 47 недель назад
сисадмин

Установка Solr возможна по запросу в ТП на тарифах SD и выделенных серверах

С уважением, Виталий
dkutzhan... #
12 лет 18 недель назад
старейшина

Для седьмой версии модуля нет?
Как можно настроиить сфинкс поиск на вашем хостинге для седьмой версии друпала?

с уважением, Дархан Кутжанов
http://darkspace.kz

annya #
12 лет 13 недель назад
гость

Своего модуля для Drupal 7 на данный момент нет. Для Drupal 7 мы настраиваем этот модуль

GSV #
11 лет 33 недели назад
старейшина

Sphinx на серверах с тарифом DH Elastic уже установлен? Или его надо ставить и настраивать самому?


annya #
11 лет 33 недели назад
гость

Пакет Sphinx-а уже установлен(версия 2.0.4). Вам нужно будет только установить и настроить модуль.

unic #
12 лет 26 недель назад
старейшина

Своего модуля для D7 нет?

Есть ли опыт настройки на вашем хостинге модуля sphinxdrupal от ivinco?

annya #
12 лет 13 недель назад
гость

Своего модуля для Drupal 7 на данный момент нет.Напишите нам, мы поможем настроить этот модуль.

Devate #
13 лет 4 недели назад
гость

Скажите, пожалуйста, будет ли данный модуль искать слова по вхождению в них группы символов? Например, найдёт ли в abcdef символы cde? Поставил модуль, не находит. Может что-то нужно донастроить?

annya #
12 лет 27 недель назад
гость

Модуль ищет по морфологии, т.е. по общим частям слова

azamat.g #
12 лет 12 недель назад
старейшина

Модуль ищет по морфологии, т.е. по общим частям слова

Поиск по частям слова в сфинксе получается вообще никак не сделать?

p.s. Не планируете ли на каком-либо из серверов поднять Apache Solr, раз уж такое дело?

domsan #
11 лет 32 недели назад
старейшина

Поиск по частям слова в сфинксе получается вообще никак не сделать?

В настройках конфига делается. Но тогда при поиске придётся добавлять знак * к словам. С обеих сторон.

roman.ko... #
13 лет 17 недель назад
старейшина

Хорошо бы темизацию формы поиска расписать.

annya #
13 лет 17 недель назад
гость

Уточните пожалуйста, что именно Вы имеете Ввиду? Как именно Вы ее хотите темизировать?

heihachi #
13 лет 17 недель назад
старейшина

А почему блок идущий с модулем - FACETED SEARCH - не работает?

annya #
13 лет 17 недель назад
гость

Напишите, пожалуйста, тикет по этому вопросу. На каждом сайте нужно смотреть индивидуально.

garinov #
13 лет 17 недель назад
старейшина

Не ищет. Выдаёт:

Search service is disabled temporarily. Please, try again later.

annya #
13 лет 17 недель назад
гость

Напишите пожалуйста тикет, если возникли какие-то проблемы - мы поможем разобраться в проблеме.