VladWeb developer
Wordpress, Laravel, Yii, REST API, Mobile Development

butterfly

Сфинкс поиск


Mysql – это хорошая база данных для общего использования. Однако, если мы имеем дело с высоконагруженными системами, где значительно нужно ускорить поиск данных и в целом ускорить ваш сайт, то для этого отлично подойдет поисковая система Sphinx.

Получение данных в php запросом в индекс сфинкса (аналог таблицы в mysql) происходит в сотни-тысячи раз быстрее, чем аналогичный запрос в mysql-таблицу. Скорость обработки запроса — это основная причина почему NoSql системы вроде Сфинкса предпочтительнее использования одного mysql. Фактически сфинкс не используется сам по себе, он должен откуда-либо брать данные, и как правило в качестве источника данных используются таблицы mysql.

Sphinx поиск является поисковой системой, которая работает в автономном режиме и хорошо соединяется с mysql. Поисковая система sphinx выдает отличную производительность поиска и индексации. Sphinx многофункциональная система позволяющая работать с огромным числом документов. Данная поисковая система применяется в работе с атрибутами, документами и строковыми полями.

Чтобы обработать запросы sphinx поиск применяет определенные индексные файлы. Для того чтобы индексировать файлы следует установить источник данных, после чего запускается программа indexer. Еще одна способность Sphinx – использовать индексные файлы настоящего времени, которые могут динамически обновляться, пожертвовав при этом небольшим снижением эффективности.

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

Заменить mysql на поисковую систему sphinx – не самая простая задача, но и не столь сложная, чтобы отказаться от полезного инструмента. Если нужно значительно ускорить поиск или ускорить ваш сайт в целом, то все же следует подумать о замене mysql на Sphinx, даже в том случае, если вы не используете умный поиск.