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

Что такое Sphinx?

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

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

Настройка Sphinx

Для 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
Start wizard
Настройка sphinx
/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 плагина для 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
Редактирование задачи индекса

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

включение sphinx на хостинге beget.com

Настройка Sphinx закончена! Проверить работу поиска можно уже на Вашем сайте.

Если возникнут вопросы, напишите нам, пожалуйста, тикет из панели управления аккаунта (раздел “Помощь и поддержка”), а если вы захотите обсудить эту статью или наши продукты с коллегами по цеху и сотрудниками Бегета – ждем вас в нашем сообществе в Telegram.

Теги:

30
5674