Движок Sphinx — найди быстрее искомое

Доброго времени суток друзья.

Хочу поделиться с Вами настройкой и установкой поисковой системы под названием (Sphinxsearch). Немного о нем, что это за зверь-пирамида, и зачем он и с чем его лопают кушают.

Sphinx (англ.SQL Phrase Index) — система полнотекстового поиска, разработанная Андреем Аксеновым и распространяемая по лицензии GNU GPL. Отличительной особенностью является высокая скорость индексации и поиска, а также интеграция с существующими СУБД (, PostgreSQL) и API для распространённых языков веб-программирования (официально поддерживаются PHP, Python, Java; существуют реализованные сообществом API для Perl, Ruby,.NET[1] и C++).

© Согласно википедии

Возможности поискового двига:

  1. Высокая скорость поиска (до 150—250 запросов в секунду на каждое процессорное ядро с 1 000 000 документов);
  2. Высокая масштабируемость (крупнейший известный кластер индексирует до 3 000 000 000 документов и поддерживает более 50 миллионов запросов в день);
  3. Поддержка распределенного поиска;
  4. Поддержка морфологического поиска — имеются встроенные модули для английского, русского и чешского языков; доступны модули для французского, испанского, португальского, итальянского, румынского, немецкого, голландского, шведского, норвежского, датского, финского, венгерского языков и много чего еще.

Для детальности можете посетить оффсайт Sphinx

Ну а теперь приступим к настройке, предполагается что он у Вас уже стоит:

До начала поиска надо создать конфигурационный файл, проиндексировать информацию и указать что и как индексировать.

1) Конфигурация движка следующая (у Вас будет другая, эта будет для примера) файл sphinx.conf:

 2) Добавить данную конфигурацию в файл /etc/sphinxsearch/sphinx.conf (если такого не существует, значит Sphinx у вас не установлен).

2.1.) Установить Sphinx будет быстрее настройки :), выполните команду ниже:

3) Найти и изменить директивы:

sql_host              = Укажите хост вашей
sql_user              = Укажите пользователя вашей БД
sql_pass             = Укажите пароль вашей БД
sql_db                  = Укажите наименование вашей БД

4) Проиндексируем нашу БД, для этого выполним команду(под суперпользователем):

Примечание: если после выполнения команды у Вас вылетела ошибка данного плана:

using config file ‘/etc/sphinxsearch/sphinx.conf’…
indexing index ‘ecm3’…
FATAL: failed to lock /var/lib/sphinxsearch/data/ecm3.spl: Resource temporarily unavailable, will not index. Try —rotate option.

Ответ: Ваш проект уже проиндексирован и не требует индексации!

5) Для поиска в консоли есть утилита «search»:

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

Leave a Comment

Войти с через: 

Защита от роБота * Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.