Подключение Sphinx к WordPress

Sphinx (англ. SQL Phrase Index) — система полнотекстового поиска, разработанная Андреем Аксеновым и распространяемая по лицензии GNU GPL. Отличительной особенностью этого поискового движка является высокая скорость индексации и поиска, возможность использовать морфологический и полнотекстовый поиск.

SphinxSE уже обрел популярность среди разработчиков: именно с его помощью осуществляется поиск на популярном Хабрахабре, проекте Викимапия, сайтах популярного книжного интернет-магазина Буквоед и "Санкт-Петербургского Дома Книги", BitTorrent-трекере The Pirate Bay (небезызвестная "Пиратская бухта") и других высоконагруженных проектах.

Для CMS Wordpress существует несколько плагинов для работы с системой полнотекстового поиска Sphinx:

В данной статье речь пойдет о подключении и настройке плагина WordPress Sphinx Search Plugin. Последнию стабильную версию всегда можно скачать с сайта https://wordpress.org/plugins/wordpress-sphinx-plugin/.

Немного о плагине:

  • поиск с помощью Sphinx Search;
  • поддержка Google-like запросов;
  • виджеты релевантных, последних и ТОП поисковых запросов;
  • набор инструментов по управлению поисковыми фразами;
  • мастер автоматической установки Sphinx Search;
  • статистика поисковых фраз;
  • все компоненты используют Sphinx Search, количество SQL запросов сведено к минимуму.

Все эти преимущества сочетаются с очень быстрой работой и минимальными затратами ресурсов.

Существует два способа установки плагина: Вы можете либо скачать дистрибутив плагина и подключить его к CMS, либо использовать автоматическую систему установки плагинов. В качесте примера мы будем использовать второй способ как более простой.

Для установки плагина необходимо зайти в панель управления CMS, после чего перейти в раздел "Плагины" и нажать кнопку "Добавить новый". В строке поиска плагинов необходимо ввести "Sphinx".

установка плагина WP

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

активация плагина WP
Следующим этапом является настройка плагина. Стоит сделать небольшое отступление: по умолчанию плагин предлагает либо установить демон 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.

активация плагина WP активация плагина WP активация плагина WP активация плагина WP

Снова нажимаем "Save & Continue".

На шаге "Setup path to sphinx indexes" все пути оставляем без изменений и в очередной раз нажимаем "Save & Continue".

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

настройка sphinx плагина для WP настройка sphinx плагина для WP настройка sphinx плагина для WP настройка sphinx плагина для WP

Плагин автоматически создаёт конфиг для sphinx в директории wp-content/uploads/sphinx/sphinx.conf. Его (конфиг) необходимо удалить - файл содержит конфиденциальные данные для подключения к базе данных и может скомпрометировать безопасность сайта.


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

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

редактирование конфигурационного файла sphinx в панели управления cp.beget.com

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

активация плагина WP
настройка indexer на хостинге beget.com
Осталось перейти на вкладку "Поисковый сервер" и включить его.

включение sphinx на хостинге beget.com
Настройка Sphinx закончена! Проверить работу поиска можно уже на Вашем сайте.

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