3/02/2005

Ellos también aman a Lucene

TheServerSide.com - I Love Lucene

Articulito sobre cómo se usa Lucene en TheServerSide como motor de búsqueda.

El primer aviso a navegantes: Lucene no es un producto off-the-shelf; hay que programar, chavales, para integrarlo con vuestra aplicación.

Personalmente he utilizado Lucene para pequeños proyectos internos y para poner en apuros a mis alumnos de Ingeniería del Software. Antes de que Google Desktop Search apareciese en mi vida, utilizaba Lucene para mantener indexados mis discos locales y así poder encontrar algo útil entre la maraña de directorios que suelo tener.

Toda aplicación de búsqueda se divide, grosso modo, en dos partes:

  1. Construcción de un índice (interfaz IndexBuilder en Lucene)

  2. Búsqueda sobre ese índice (interfaz IndexSearch en Lucene)



La construcción del índice depende de lo que se quiera almacenar. En el caso de este artículo, necesitaban esta estructura, que representaron mediante una clase Java.

Además -si algún ex-alumno mío de Ingenería del Software I está leyendo esto, se acordará-, si el contenido a indexar es muy grande, lo de tener que reindexar todo desde el principio cada vez no es muy buena idea, por lo que es interesante contar con algún sistema de indexación incremental.

La búsqueda en Lucene se realiza a través del método IndexSearch.search, que admite una búsqueda no estructurada con operadores. La consulta se construye internamente mediante el componente Lucene QueryParser.

Para más detalles, id al artículo y después a bajaros Lucene!

No hay comentarios: