SPHINX, motor para la creación de buscadores de texto

Sphinx es un motor para la búsqueda de textos open source (licencia GPLv2). Está desarrollado en C++ lo que lo diferencia claramente de su competidor Lucene que está desarrollado en java. El nombre Sphinx es un acrónimo inglés que significa SQL Phrase Index (índice de frase de SQL).

Sphinx es un paquete de software independiente que proporciona búsquedas en textos rápidas y relevantes. Como su nombre índica ha sido especialmente diseñado para integrar información almacenada en bases de datos SQL, y para ser fácilmente accesible por lenguajes de script (guión). Sin embargo, Sphinx no depende o requiere de ninguna base de datos específica para su funcionamiento y puede emplear otras fuentes de datos, como por ejemplo XMLs.

Las aplicaciones pueden acceder al servicio de búsqueda (llamado searchd) usando diversos métodos: API nativa (SphinxAPI), una implementación propia del protocolo de red de MySQL (empleando un subconjunto de instrucciones mySQL llamadas SphinxQL) o mediante un servidor MySQL empleando su propio motor de almacenamiento (SphinxSE)

Existe implementaciones nativas oficiales para PHP, Perl, Ruby y Java que están incluidos en el paquete de distribución pero ha sido portado a más lenguajes (Perl, C#, Haskell, Ruby-on-Rails, …etc).

Sphinx soporta de manera nativa información procedente de MySQL, PostgreSQL y XML