Установка і настройка sphinx на centos 7 - vscale community

Sphinx - це вільно поширювана високошвидкісна система повнотекстового пошуку. У числі її безсумнівних переваг слід назвати високу швидкість індексації та пошуку, можливість інтеграції з MySQL і PostgreSQL, наявність клієнтів для багатьох мов програмування (PHP, Perl, Python, Ruby, Java).

Встановивши і налаштувавши Sphinx, ви зможете додати можливість повнотекстового пошуку на свій сайт або блог.

Вимоги для установки

  • Сервер з CentOS 7;
  • Користувач з привілеями root для підключення по SSH;
  • Встановлений на сервері MySQL.

Крок 1. Встановлення Sphinx

Ми будемо описувати установку останньої на сьогоднішній день версії Sphinx - 2.2.11.

Почнемо з установки необхідних залежностей:

Перейдемо в / tmp. щоб не засмічувати систему непотрібними файлами:

Завантажимо останню версію Sphinx c офіційного сайту:

Встановимо завантажений пакет:

Вітаю! Sphinx успішно встановлений на вашому сервері, перейдемо до налаштування.

Крок 2. Створення тестової бази даних

На цьому кроці ми створимо тестову БД і імпортуємо в неї демо-файл з комплекту Sphinx для перевірки його працездатності.

Насамперед підключаємося до командної оболонки MySQL:

Введемо пароль root-користувача MySQL, а потім створимо нову базу даних:

Імпортуємо демонстраційний SQL-файл:

Вийдемо з командної оболонки MySQL:

Крок 3. Налаштування Sphinx

На цьому кроці ми створимо конфігураційний файл для Sphinx.

Про всяк випадок збережемо оригінальний файл:

Створимо новий файл:

Додамо в нього таке вміст:

Крок 4. Робота з індексом

На цьому кроці ми додамо дані в індекс Sphinx і налаштуємо його оновлення по cron.

Спочатку додамо дані з БД в індекс:

Потім відкриємо crontab:

Додамо нове завдання, яке буде раз на годину оновлювати індекс:

Ось і все: Sphinx встановлений і налаштований.

Крок 5. Запуск Sphinx

Готово: Sphinx запущений. Прийшов час перевірити його в справі.

Підключимося до інтерфейсу SphinxQL за допомогою MySQL:

Спробуємо пошукати пропозиції:

Як бачимо Sphinx, знайшов два збіги з нашого індексу. Також можна спробувати пошук за ключовими словами і т.п. Після тестування ми можемо видалити тестову базу даних:

і закрити MySQL:

Всього за 6 кроків ми встановили і протестували роботу Sphinx в зв'язці з MySQL. За допомогою Sphinx ви зможете додати пошук на свій сайт.

Природно, що опис всіх можливостей Sphinx в рамках однієї статті - завдання практично нездійсненне. Тому на закінчення наведемо кілька корисних посилань:

Схожі статті