2 min de lectura

Sphinxsearch

¿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.

Líder técnico en equipos de desarrollo de software. Profesor de Desarrollo Web en la Universidad de Guadalajara. Emprendedora. Fundadora y CTO de CORB.mx. Ponente y tallerista. Colaboradora en proyectos de software libre y Open Source. Comprometida con la comunidad y la industria de la tecnología. Enfocada en el empoderamiento de las mujeres.

7 COMENTARIOS

Deja tus comentarios

This site uses Akismet to reduce spam. Learn how your comment data is processed.