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.

Compartir
Licenciada en Informática con Maestría en Tecnologías de la Información. Docente por convicción con trece años de experiencia, desarrolladora desde hace nueve años trabajando actualmente con desarrollo WEB para alta disponibilidad, además de ser consultor independiente y capacitador. Participe del movimiento del software libre como fiel apasionada, reconocida por su actividad en la comunidad y su participación en la inclusión.

7 COMENTARIOS

DEJA UNA RESPUESTA

Please enter your comment!
Please enter your name here