Sphinx
(
англ.
SQL Phrase Index
) — система
полнотекстового поиска
, разработанная Андреем Аксёновым и распространяемая по лицензии
GNU GPL
либо, для версий 3.0+ без исходных кодов. Отличительной особенностью является высокая скорость индексации и поиска, а также интеграция с существующими СУБД (
MySQL
,
PostgreSQL
) и API для распространённых языков веб-программирования (официально поддерживаются
PHP
,
Python
,
Java
; существуют реализованные сообществом API для
Perl
,
Ruby
,
.NET
и
C++
).
Содержание
Основные возможности
Высокая скорость индексации (до 10–15 МБ/сек на каждое процессорное ядро);
Высокая скорость поиска (до 150–250 запросов в секунду на каждое процессорное ядро с 1 000 000 документов);
Высокая масштабируемость (крупнейший известный кластер индексирует до 3 000 000 000 документов и поддерживает более 50 миллионов запросов в день);
Поддержка распределенного поиска;
Поддержка нескольких полей полнотекстового поиска в документе (до 32 по умолчанию);
Поддержка нескольких дополнительных атрибутов для каждого документа (то есть группы, временные метки и т. д.);
Поддержка морфологического поиска — имеются встроенные модули для английского, русского и чешского языков; доступны модули для французского, испанского, португальского, итальянского, румынского, немецкого, голландского, шведского, норвежского, датского, финского, венгерского языков;
В 2011 году была выпущена книга "Introduction to Search with Sphinx" издательства O'Reilly, написанная автором поисковика Андреем Аксёновым.
Форк
В 2017 году ключевые члены первоначальной команды Sphinx образовали форк проекта под названием
. Команда Manticore установила для себя следующую цель: поставлять быстрое, стабильное и мощное свободное обеспечение по полнотекстовому поиску.