Antes de ponernos manos a la obra, vamos a hablar brevemente de la historia de Symfony. Los creadores de Symfony somos partidarios de aplicar siempre las mejores prácticas, como pruebas y refactorización, y también intentamos incorporar estas buenas prácticas al desarrollo del propio framework.
Uno de los lemas que más nos gusta es el de "No reinventes la rueda". De hecho, el framework Symfony inició su andadura hace cuatro años a partir de la unión de dos aplicaciones de software libre: Mojavi y Propel. De la misma forma, cada vez que nos enfrentamos a un problema, en vez de intentar resolverlo nosotros mismos, siempre buscamos en primer lugar alguna librería que ya exista y que resuelva correctamente ese problema.
Hoy queremos añadir un buscador a Jobeet y el Zend Framework incluye una librería fantástica llamada Zend Lucene, que es una versión del conocido proyecto Lucene para Java. Como crear un buen buscador es realmente complicado, vamos a utilizar Zend Lucene en vez de intentar crear un buscador desde cero.
La propia documentación de Zend Lucene describe la librería de la siguiente forma: "...un buscador genérico de texto escrito completamente con PHP 5. Como guarda sus índices en archivos y no requiere de un servidor de bases de datos, permite incluir un buscador en cualquier sitio web construido con PHP."
Zend_Search_Lucene
incluye las siguientes características:
- Búsqueda por ranking, que muestra primero los mejores resultados
- Soporta consultas mediante frases, consultas booleanas, consultas con comodines, consultas de proximidad, consultas basadas en rangos y muchos otros tipos de consultas
- Búsqueda por un campo específico, como por ejemplo título, autor o contenidos
Nota Este capítulo no es un tutorial sobre la librería Zend Lucene, sino un tutorial sobre cómo integrar Zend Lucene en el sitio web de Jobeet y en general, un tutorial sobre cómo integrar librerías externas en proyectos Symfony. Si quieres conocer más sobre la tecnología de esta librería, puedes consultar la documentación sobre Zend Lucene disponible en el sitio web del Zend Framework.
Si seguiste el tutorial de ayer, ya tienes instalada la librería Zend Lucene como parte de la instalación de Zend Framework que realizamos ayer para enviar emails.