Crear un índice con lucene

Introducción

En este post vamos a crear un indice para poder trabajar con lucene. Aprenderemos a descargar lucene, crear un proyecto en eclipse y los conceptos básicos para realizar un índice.

 

Descarga de Lucene

Antes de crear un indice y empezar a trabajar con Lucene, es necesario descargar el framework y crear un proyecto para empezar a trabajar.

Lucene está disponible en http://lucene.apache.org/  hacemos clic en Apache Lucene Core™ y después en free download y nos descargamos la versión 3.1.0

Una vez descargado el archivo, se descomprime en una carpeta. En pasos posteriores, agregaremos este archivo al proyecto.

 descarga lucene

Creando un proyecto para trabajar con Lucene

Los pasos para crear un proyecto son:

  • Abrimos el entorno de desarrollo, en este caso EasyEclipse.
  • Creamos un nuevo proyecto haciendo clic en File -> New-> Java Proyect.
  • Introducimos un nombre para proyecto y hacemos clic en Finish.

En el siguiente paso debemos configurar el proyecto para añadir la API de Lucene. Para ello hacemos clic con el botón derecho encima del proyecto, vamos al menú Build Path y hacemos clic en Add External Archives.

Nos posicionamos en la carpeta que creamos antes cuando descargamos Lucene y seleccionamos los archivos:

–          lucene-core-3.1.0

–          lucene-core-3.1.0-javadoc

Compruebe que la pestaña “Package Explore” se muestra como a continuación.

Proyecto con Lucene

Creando un Indice

La creación de un índice constituye el punto de partida para el trabajo con Lucene. Una vez creado, se le irán añadiendo la información relevante de los distintos documentos seleccionados para el análisis.

El sencillo programa que se muestra a continuación CrearIndice.java, construye un índice (en principio vacío), para lo cual simplemente crea un objeto IndexWriter en el directorio “directorioGuardarIndice”, recorre un directorio (directorioCorpus) e indexa los documentos  que allí se encuentras.

Antes de empezar con el ejemplo vamos a detallar como se crea una clase en un proyecto de Eclipse.

Para ello, haga clic con el botón derecho sobre el nombre del proyecto, en el menú desplegable haga clic en New>Class. En la ventana emergente, en este ejemplo escribiremos “CrearIndice”, asegúrese que las casillas “Public static void main” y “Inherited abstract method” están seleccionadas.

Lucene no indexa los archivos completos, sino que indexa variables tipo Document propias de Lucene. Se recorre el directorio, buscando archivos con extensión txt y con permisos de lectura.

Para cada archivo encontrado creamos una variable tipo Document, serán las que realmente se indexan, A esta variable le añadicos objetos de tipo Field que son los campos que deseamos indexar. En este caso a cada variable Document le añadimos dos variables Field, una con el nombre del archivo y otra con el contenido del mismo.

Una vez agregados los campos a la variable Document, ésta se añade al índice con la instrucción Indice.add(doc).

Aquí tenemos el código: http://pastebin.com/MkG4pYx5

Referencias y bibliografía

[1] http://lucene.apache.org/

[2] Lucene in Action. Second Edition. Michael McCandless, Erik Hatcher, Otis Gospodnetic

[3] http://trevinca.ei.uvigo.es/~pcuesta/sm/practicas/Lucene.pdf

[4] http://lucene.apache.org/solr/

[5] http://nutch.apache.org/

[6] http://www.easyeclipse.org/site/home/

Anuncios

Comenta la entrada

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s