¿Qué es Sphinx?
Sphinx es un buscador open source que funciona independiente de la base de datos. Permite realizar búsquedas con gran cantidad de parámetros, generar índices con distintos campos, y en el caso de las búsquedas de texto tiene cosas interesantes como ignorar mayúsculas, minúsculas y tildes. De hecho, permite calcular la importancia de un resultado de manera matemática, es decir, sumar la fecha, multiplicar número de coincidencias, etc.
¿Cómo funciona?
Sphinx indexa la información que deseamos utilizando el campo del texto y un título.
Es decir, creamos una consulta SQL para obtener la información que se indexará y este creará los indices con esa información.
Cuando necesitemos esa información, solicitamos una consulta en la base de datos de sphinx (NO en MySQL) y este devolverá el ID de los registros que coinciden con la consulta pero siempre mostrando la relevancia.
Ya que se tienen los ids, solo deberás continuar con el proceso por medio de MySQL (o el gestor de base de datos que utilices) y obtener la información completa de esos registros.
Carácteristicas
- 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)
Opinión personal
Por cuestiones laborales me topé con este sistema de búsquedas y debo decir que el performance es realmente muy bueno, además de que su configuración e implementación es relativamente sencilla.
A todos aquellos que tengan sitios con grandes contenidos les recomiendo implementarlo, pues les ayudará mucho a mejorar el performance de las búsquedas además de lograr mejores resultados para los contenidos buscados sobre todo cuando se quieren lograr búsquedas ignorando acentos, codificaciones especiales, etc.
Más adelante les compartiré un tutorial de instalación y configuración del servidor.
¿Te gustó este artículo?
Si te gustó este artículo, te ha servido o aprendiste algo nuevo; compártelo en tus redes sociales o invítame un cafe.
Ing Comp Cucei liked this on Facebook.
Esteban Misael liked this on Facebook.
si ademas que por asuntos de acentos a veces más que de mayusculas no son exitosas algunas de mis busquedas
La verdad es que si es muy bueno y muy rápido
Jose Valdovinos Santana liked this on Facebook.
muy bueno : D
César Díaz liked this on Facebook.