Интеграция Sphinx в KVS

Данная интеграция полезна для улучшения поиска по видео в KVS, гибкой его настройки и снятия нагрузки с сервера. Sphinx потребляет мало ресурсов и за счет этого рекомендован для проектов с большим траффиком.

В чем плюсы Sphinx?

- Высокая скорость индексации (на 99% проектов на KVS от нескольких секунд до нескольких десятков секунд).
- Высокая скорость поиска (до 150—250 запросов в секунду с 1 000 000 элементами в базе).
- Поддержка стоп слов.
- Поддержка морфологического поиска — имеются встроенные модули для английского, русского и чешского языков; доступны модули для французского, испанского, португальского, итальянского, румынского, немецкого, голландского, шведского, норвежского, датского, финского, венгерского языков.
- Возможность создания произвольных групп фильтров.

Базовая интеграция Sphinx & KVS.

1. Администраторам сервера необходимо установить sphinx.

2. Создайте в папке admin папку sphinx_search и распакуйте в нее архив.

3. Задайте в файле sphinx.conf следующие аспекты:
- Данные к БД MySQL вашего проекта.
- В четырех местах необходимо задать полный серверный путь к папкам хранения.

4. Запустите из SSH запрос вида «indexer --config /PATH/admin/sphinx_search/sphinx.conf --all», где «/PATH» нужно заменить на полный серверный путь к папке admin.
Если все настроено верно - в течение нескольких секунд пройдет индексация и вы увидите вывод вида «collected 77000 docs, 20.0 MB».

5. После этого запуск демона поиска можно провести командой «searchd --config /PATH/admin/sphinx_search/sphinx.conf», остановить соответственно командой «searchd --config /PATH/admin/sphinx_search/sphinx.conf --stop»

6. Для обновления БД Sphinx следует поставить на крон каждый час следующую строку: «indexer --config /PATH/admin/sphinx_search/sphinx.conf --rotate --all».

7. Для переключения поиска на Sphinx в KVS необходимо в плагине внешнего поиска (External Search) задать:
- Использовать внешний поиск: «Всегда».
- API: «http://domain.com/admin/sphinx_search/kvs_sphinx_search_videos.php?query=%QUERY%&from=%FROM%&limit=%LIMIT%».
- URL: «http://domain.com».

В настоящее время простым образом возможно подключение только поиска по видео. В будущем будет также добавлена возможность поиска по альбомам и рассчет related объектов видео и альбомов с помощью sphinx.

Для любой тонкой настройки поиска KVS средствами Sphinx в рамках кастомных работ можно обратиться к нашим специалистам с помощью системы тикетов.