Sphinx es un motor de búsqueda abierto diseñado con el fin de indexar contenidos de bases de datos. Actualmente admite de manera nativa MySQL, PostgreSQL y bases de datos ODBC. Otras fuentes de datos pueden ser indexadas mediante el apropiado filtro XML. Se distribuye en los términos GPLv2 de GNU o con licencia privativa.
Desde la versión 0.9.9, se le puede interrogar usando SphinxQL, un subconjunto de SQL. A partir de la versión 1.10-beta, soporta tanto indexación incremental como en lote.
Sphinx forma parte de más de 100 sitios y servicios web, incluyendo Craigslist.org.
Características
- indexación por lotes e incremental
- soporte para atributos no textuales (escalares, cadenas, conjuntos)
- indexación directa de bases de datos SQL
- soporte nativo para MySQL, PostgreSQL, MSSQL, además de conectividad ODBC
- soporte a la indexación de documentos XML
- soporte para búsqueda distribuida
- integración mediante APIs
- sintaxis SQL vía protocolo MySQL (desde 0.9.9)
- sintaxis para búsqueda de texto completo
- resultados en estilo base de datos
- relevancia de resultados utilizando factores adicionales al estándar BM25
- soporte para textos codificados en ISO 8859 y UTF-8, palabras prohibidas (stopwords), indexación de palabras que no aparecen en los resultados, procedencia, formas de la misma palabra, agrupamiento de caracteres y caracteres mixtos (doble indexación como carácter real y separador)
- soporta funciones definidas por el usuario (desde 2.0.1)
Prestaciones y escalabilidad
- Velocidad de indexación hasta 10-15 MB/sec por núcleo y disco
- Velocidad de búsqueda hasta 200-300 peticiones/s en una colección de 1000000 documentos ocupando 1.2 GB
- Las aplicaciones y producción más grandes indexan 8.1 billón de documentos,[2] la aplicación más activa (craigslist) sirve más de 50 millones de peticiones al día
Véase también
Referencias