¿Programando un buscador en su sitio web? Te va a interesar Sphinx
Cuando se trata de búsquedas customizadas en un sitio web, lo principal es que los resultados sean tan precisos como sea posible. Para esto podemos utilizar técnicas como las sugerencias de búsqueda o búsquedas semánticas. Sin embargo, dada la competitividad de la web existe un parámetro más, vital para un sistema de búsqueda web: la velocidad.
Existen diversas técnicas que permiten acelerar las búsquedas en una página web. Antes de escoger alguna técnica para acelerar las búsquedas, es necesario identificar cual es el balance costo/beneficio que podemos obtener de esta.
El propósito de este artículo es presentar a Sphinx como una excelente técnica de aceleración de búsquedas, a la vez que resume su integración en un sistema y analiza en cuales ambientes se podría podría obtener mayor ventaja.
Sphinx
Sphinx es un servidor de búsqueda de texto completo (Full Text Search).
Esto significa que se conecta con el repositorio de datos y crea índices textuales, los cuales son consultados en cada búsqueda, en lugar de ir hasta el repositorio de datos. Las búsquedas indexadas de Sphinx pueden resultar hasta 50% más rápidas que una búsqueda común en un repositorio Claro que este resultado varía dependiendo de la potencia del servidor y del tamaño del conjunto de índices (en adelante: colección) que se indexa.
Es importante aclarar que Sphinx funciona con las base de datos comunes al desarrollo web (SQL Server, MYSQL, Oracle, PostgreSQL, etc…), pero también con colecciones de documentos o cualquier objeto que pueda ser indexado textualmente, desde archivos de texto simples hasta pdfs.
Compañías tan importantes como WordPress y Mozilla lo están utilizando actualmente.
Benchmarks
Veamos la siguiente tabla comparativa entre Sphinx y Mysql (tomada del blog oficial de Sphinx).
Page 1 of 4 | Next page