Что такое Sphinx?
Sphinx (англ. SQL Phrase Index) — система полнотекстового поиска, разработанная Андреем Аксеновым и распространяемая по лицензии GNU GPL. Отличительной особенностью этого поискового движка является высокая скорость индексации и поиска, возможность использовать морфологический и полнотекстовый поиск.
SphinxSE уже обрел популярность среди разработчиков: именно с его помощью осуществляется поиск на популярном Хабрахабре, проекте Викимапия, сайтах популярного книжного интернет-магазина Буквоед и "Санкт-Петербургского Дома Книги", BitTorrent-трекере The Pirate Bay (небезызвестная "Пиратская бухта") и других высоконагруженных проектах.
Настройка Sphinx
Для CMS WordPress существует несколько плагинов для работы с системой полнотекстового поиска Sphinx:
- WordPress Sphinx Search Plugin
Описание на сайте wordpress.com
Страница проекта
- Gigaom Sphinx
Описание на сайте wordpress.com
Страница проекта
- Sphinx Search & Related Omnibus
Описание на сайте wordpress.com
Страница проекта
В данной статье речь пойдет о подключении и настройке плагина WordPress Sphinx Search Plugin. Последнию стабильную версию всегда можно скачать с сайта https://wordpress.org/plugins/wordpress-sphinx-plugin/.
Немного о плагине:
- поиск с помощью Sphinx Search;
- поддержка Google-like запросов;
- виджеты релевантных, последних и ТОП поисковых запросов;
- набор инструментов по управлению поисковыми фразами;
- мастер автоматической установки Sphinx Search;
- статистика поисковых фраз;
- все компоненты используют Sphinx Search, количество SQL запросов сведено к минимуму.
Все эти преимущества сочетаются с очень быстрой работой и минимальными затратами ресурсов.
Существует два способа установки плагина: Вы можете либо скачать дистрибутив плагина и подключить его к CMS, либо использовать автоматическую систему установки плагинов. В качесте примера мы будем использовать второй способ как более простой.
Для установки плагина необходимо зайти в панель управления CMS, после чего перейти в раздел "Плагины" и нажать кнопку "Добавить новый". В строке поиска плагинов необходимо ввести "Sphinx".

Далее необходимо нажать "Установить" напротив плагина WordPress Sphinx Search Plugin. Установка происходит в автоматическом режиме и занимает около 15 секунд. После установки необходимо активировать плагин - на месте кнопки установки появится кнопка "Активировать", которую необходимо нажать.

Следующим этапом является настройка плагина. Стоит сделать небольшое отступление: по умолчанию плагин предлагает либо установить демон sphinx, либо указать пути до уже существующих бинарных файлов. Так как сам демон конфигурируется через панель управления хостингом и работает в виртуальном окружении, пользователь, из-под которого работает сайт, не имеет доступа к бинарным файлам. В плагине нам необходимо настроить подключение и получить конфигурационный файл для sphinx - для этого мы укажем мнимые пути.
Настройка производится в разделе "Настройка" -> "Sphinx Search". Начните настройку с помощью мастера, кликнув по кнопке "Start Wizard". На первой вкладке, которая называется "Set sphinx connection parametrs", параметры подключения оставляем без изменений, в качестве имени для индекса можно ввести любое удобное имя:
Host name or IP address localhost
Port 9312
Для продолжения - кликните по кнопке кнопку "Save & Continue".
На следующем шаге "Install or use existing binaries" необходимо выбрать "Wizard was unable to find sphinx binaries but you can specify them manually" и в качестве путей указать /dev/null.




Снова нажимаем "Save & Continue".
На шаге "Setup path to sphinx indexes" все пути оставляем без изменений и в очередной раз нажимаем "Save & Continue".
Следующий шаг - "Sphinx data indexing". Пропускаем тестирование индексов и нажимаем "Skip test". Настройка плагина фактически завершена - на последнем шаге нам нужно открыть конфигурационный файл, нажав "Click here to see Sphinx configuration", сохранить его и нажать "OK" и "Finish". Весь процесс настройки приведен ниже:




Настройка параметров Sphinx происходит в панели управления хостингом - для этого нужно зайти в раздел "Сервисы" -> "Sphinx" или перейти по ссылке https://cp.beget.com/cloudservices/sphinx/. Выбираем необходимый тариф и включаем демон полнотекстного поиска:

Далее переходим на вкладку "Индексация" -> "Редактор конфигурации", вставляем скопированное ранее содержимое конфигурационного файла, созданного ранее, и нажимаем "Сохранить":

Переходим на вкладку "Управление индексами" и для индекса, оканчивающегося на main, редактируем время обновления - один раз в день. Для этого необходимо указать время, как на скриншоте:


Осталось перейти на вкладку "Поисковый сервер" и включить его.

Настройка Sphinx закончена! Проверить работу поиска можно уже на Вашем сайте.
Если при установке или настройке возникли проблемы, Вы можете обратиться в нашу техническую поддержку - мы с радостью поможем и ответим на все Ваши вопросы.