Установка SphinxSE

// Июнь 14th, 2011 // Sphinx, Ubuntu

Очень хотел попробовать SphinxSE. Кто не знает — это интерфейс работы mysql-sphinx, когда в рамках существующего соединения с mysql можно делать запросы к Sphinx. Итак, подробности установки под катом.

Зачем?

Да, безусловно можно использовать клиент для PHP/Ruby для доступа к Sphinx с помощью бинарного протокола. Но, как сказали на последних ZfConf и DevConf, сначала все новые возвожности будут внедряться в SphinxQL протокол, а только потом уже в бинаный.

Кроме того, используя одно соединение мы экономим ресурсы сервера. Я уже и не говорю, что мы можем использовать например Doctrine ORM (при небольшой доработке) да и любые другие, для доступа к Sphinx. А значит нам надо будет писать гораздо меньше кода. Тем более, что в больших проектах, так или иначе уже используется какая-либо ORM.

Как будем ставить?

К сожалению скомпилить SphinxSE ни с MySQL ни с Percona Server мне не удалось. Долго я мучался, пока не узнал, что MariaDB версии > 5.2.2 содержит в себе уже интегрированный движок SpginxSE. Т.к. последние тесты показали, что XtraDB в MariaDB быстрее даже чем у самой Percona, переход меня не смутил.

As of MariaDB 5.2.2, the Sphinx storage engine is included in the source, binaries, and packages of MariaDB. SphinxSE is built as a dynamically loadable .so plugin.

Установка SphinxSE с MariaDB на Ubuntu 10.10

0. Бекапим базы. Обязательно!

1. Удаляем предыдущие версии MySQL/Percona
Смотрим какие есть пакеты, связанные с MySQL

aptitude search mysql | grep ^i

и удаляем их

sudo apt-get remove mysql-server mysql-client
sudo apt-get purge mysql-client-core-5.1
sudo apt-get purge mysql-server-core-5.1

2. Получаем адреса репозитариев для своей версии ОС (http://downloads.askmonty.org/mariadb/repositories/).

Обратите внимание, версию выбираем 5.2! Далее среди различных репозитариев я предпочёл перконовский. В /etc/sources.list я добавил полученные на этой страничке адреса репозитариев:

deb http://www.percona.com/downloads/MariaDB/repo/5.2/ubuntu maverick main
deb-src http://www.percona.com/downloads/MariaDB/repo/5.2/ubuntu maverick main

3. Обновляем пакеты и устанавливаем саму Maria

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 1BB943DB
sudo apt-get update
sudo apt-get install mariadb-server-5.2

Проверка установки

Теперь заходим в консоль базы:

root@vbox:/etc/apt# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 34
Server version: 5.2.6-MariaDB-mariadb101~maverick-log (MariaDB - http://mariadb.com/)
MariaDB [(none)]> show engines;
+------------+---------+------------------------------------------------------------+
| Engine     | Support | Comment                                                    |
+------------+---------+------------------------------------------------------------+
| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables  |
| MRG_MYISAM | YES     | Collection of identical MyISAM tables                      |
| FEDERATED  | YES     | FederatedX pluggable storage engine                        |
| BLACKHOLE  | YES     | /dev/null storage engine                                   |
| CSV        | YES     | CSV storage engine                                         |
| SPHINX     | YES     | Sphinx storage engine 0.9.9                                |
| ARCHIVE    | YES     | Archive storage engine                                     |
| MyISAM     | YES     | Default engine as of MySQL 3.23 with great performance     |
| InnoDB     | DEFAULT | XtraDB engine based on InnoDB plugin. Supports transactions|
| PBXT       | YES     | High performance, multi-versioning transactional engine    |
| OQGRAPH    | YES     | Open Query Graph Computation Engine, stored in memory      |
| Aria       | YES     | Crash-safe tables with MyISAM heritage                     |
+------------+---------+------------------------------------------------------------+
12 rows in set (0.00 sec)

Если вдруг движка SPHINX не будет в списке, активировать его можно следующей командой:

MariaDB [(none)]> INSTALL PLUGIN sphinx SONAME 'ha_sphinx.so';

В качестве бонуса мы получили поддержку движка для хранения графов: OQGRAPH, который, кстати, тоже очень интересный :-)

Напоминаю, что движок SphinxSE — это по сути прокси к самому sphinx, который должен быть установлен в системе. Для Ubuntu его можно поставить так:

sudo apt-get install sphinxsearch

Пример использования SphinxSE

По этой ссылке можно посмотреть пример использования SphinxSE:

http://kb.askmonty.org/v/about-sphinxse/2941/#basic-usage

Описание языка SphinxQL

 

Share

Спасибо!


Если вам помогла статья, или вы хотите поддержать мои исследования и блог - вот лучший способ сделать это:


4 Responses to “Установка SphinxSE”

  1. Вот никак не могут они сделать репозитарий для Ubuntu Natty, а ставить для Maverick совершенно не хочется.

    Спасибо за вводную. Давно уже хотел разобраться с этой интеграцией

  2. Простите, я конечно же имел в виду репозитарии Percona.

    Maria — ещё очень сырая

Комментировать