Обращаем ваше внимание, что данный модуль устарел и мы рекомендуем использовать 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. Мелкие фиксы + возможность формировать конфу в админке

Comments (24)

m.vitaly #
11 years 40 weeks ago
sysadmin

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

Best regards, Vitaly
keereel #
11 years 40 weeks ago
ancient

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

shevgeny #
11 years 32 weeks ago
ancient

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


annya #
11 years 32 weeks ago
guest

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

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

shevgeny #
11 years 40 weeks ago
ancient

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


HydroBla... #
11 years 42 weeks ago
ancient

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

it-patrol лучший =)

phabyd #
11 years 48 weeks ago
ancient

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


m.vitaly #
11 years 47 weeks ago
sysadmin

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

Best regards, Vitaly
dkutzhan... #
12 years 18 weeks ago
ancient

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

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

annya #
12 years 13 weeks ago
guest

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

GSV #
11 years 33 weeks ago
ancient

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


annya #
11 years 33 weeks ago
guest

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

unic #
12 years 26 weeks ago
ancient

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

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

annya #
12 years 13 weeks ago
guest

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

Devate #
13 years 4 weeks ago
guest

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

annya #
12 years 27 weeks ago
guest

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

azamat.g #
12 years 12 weeks ago
ancient

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

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

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

domsan #
11 years 33 weeks ago
ancient

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

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

roman.ko... #
13 years 17 weeks ago
ancient

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

annya #
13 years 17 weeks ago
guest

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

heihachi #
13 years 17 weeks ago
ancient

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

annya #
13 years 17 weeks ago
guest

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

garinov #
13 years 18 weeks ago
ancient

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

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

annya #
13 years 18 weeks ago
guest

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