Sphinx (англ. SQL Phrase Index) — система полнотекстового поиска, разработанная Андреем Аксёновым и распространяемая по лицензии GNU GPL либо, для версий 3.0+ без исходных кодов. Отличительной особенностью является высокая скорость индексации и поиска, а также интеграция с существующими СУБД (MySQL, PostgreSQL) и API для распространённых языков веб-программирования (официально поддерживаются PHP, Python, Java; существуют реализованные сообществом API для Perl, Ruby, .NET[1] и C++).
Основные возможности
- Высокая скорость индексации (до 10–15 МБ/сек на каждое процессорное ядро);
- Высокая скорость поиска (до 150–250 запросов в секунду на каждое процессорное ядро с 1 000 000 документов);
- Высокая масштабируемость (крупнейший известный кластер индексирует до 3 000 000 000 документов и поддерживает более 50 миллионов запросов в день);
- Поддержка распределенного поиска;
- Поддержка нескольких полей полнотекстового поиска в документе (до 32 по умолчанию);
- Поддержка нескольких дополнительных атрибутов для каждого документа (то есть группы, временные метки и т. д.);
- Поддержка стоп-слов;
- Поддержка однобайтовых кодировок и UTF-8;
- Поддержка морфологического поиска — имеются встроенные модули для английского, русского и чешского языков; доступны модули для французского, испанского, португальского, итальянского, румынского, немецкого, голландского, шведского, норвежского, датского, финского, венгерского языков;
- Нативная поддержка PostgreSQL и MySQL;
- Поддержка ODBC совместимых баз данных (MS SQL, Oracle и т. д.).
Применение
По технологии SphinxSE осуществляется поиск на популярном блоге Хабрахабр, проекте Викимапия и других высоконагруженных проектах[2]. Используется в CMS 1С-Битрикс[3], HostCMS [4], CMS LiveStreet, Umi.CMS версии 2.9.6 и выше, доступен с помощью плагина для CMS Wordpress[5], Yii2 2.0.10 и выше и т. д.
В 2011 году была выпущена книга "Introduction to Search with Sphinx" издательства O'Reilly, написанная автором поисковика Андреем Аксёновым.
Форк
В 2017 году ключевые члены первоначальной команды Sphinx образовали форк проекта под названием Manticore[6]. Команда Manticore установила для себя следующую цель: поставлять быстрое, стабильное и мощное свободное обеспечение по полнотекстовому поиску.
См. также
Примечания
Ссылки