Empezando con Solr

Hace ya bastante tiempo que hablamos de Lucene, pero el proyecto Apache Lucene ha cambiado mucho desde esos post así que me gustaría que conozcamos un poco más acerca de cómo ha cambiado el proyecto hasta convertirse en Solr.

Según la Wikipedia, Lucene es una API de código abierto para recuperación de información, originalmente implementada en Java por Doug Cutting.

Seguir leyendo “Empezando con Solr”

Como ver el Indice de Lucene

En otros post hemos visto como crear un índice con Lucene, como añadir campos a los documentos etc. e incluso como usar ese índice para realizar búsquedas exitosas.

Ahora viene lo difícil, ¿Cómo es ese índice? ¿Cual es la palabra que más aparece? ¿Esta el indice bien hecho? ¿Hemos obtenido correctamente la raíz de las palabras?

Antes de comenzar vamos a describir algunos conceptos:

  • stopwords: son una lista de palabras de uso frecuente que, tanto en la indexación como en la búsqueda, no se tienen en consideración, se omiten.
  • stemming: es un método para obtener la raíz semántica de una palabra. Las palabras se reducen a su raíz o stem (tema), de modo que, si buscamos por “abandonados” encontrará “abandonados” pero también “abandonadas”, “abandonamos”, … porque, en realidad, estamos buscando por “abandon”.
  • modelo de espacio vectorial: es un modelo algebraico utilizado para filtrar, indexar, recuperar y calcular la relevancia de la información. Representa los documentos con un lenguaje natural mediante el uso de vectores en un espacio lineal multidimensional. La relevancia de un documento frente a una búsqueda puede calcularse usando la diferencia de ángulos de cada uno de los documentos respecto del vector de busca, utilizando el producto escalar entre el vector de búsqueda

Seguir leyendo “Como ver el Indice de Lucene”

Búsqueda de información con Lucene

Esta es la continuación de un post empezado hace mucho tiempo

La búsqueda de documentos constituye la funcionalidad principal proporcionada por Lucene. Para ello aporta múltiples clases y métodos para la representación de consultas y buscar en el índice aquellos documentos que son relevantes y cumplen con los criterios de la búsqueda. El programa que se muestra a continuación Buscador.java, es un ejemplo de cómo buscar en un índice utilizando Lucene.

Seguir leyendo “Búsqueda de información con Lucene”

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.

Seguir leyendo “Crear un índice con lucene”

Introducción a Lucene

En este tutorial, vamos a realizar una breve presentación del API de búsqueda Lucene y realizaremos un sencillo y completo ejemplo.

Lucene es una librería de código abierto con licencia de Apache. Que permite a los desarrolladores integrar funciones de indexación y búsquedas de información textual dentro de sus proyectos.

Antes de empezar, creo que es necesario una pequeña aclaración de conceptos.

Para poder utilizar Lucene, es necesario seguir una serie de pasos o fases para conseguir realizar búsquedas efectivas: indexación y búsqueda.

Indexación:

El proceso de indexación consiste en analizar y extraer de entre toda la información disponible, la verdaderamente relevante. Posteriormente, con esa información se crea el índice a partir del cual se realizarán las búsquedas.

El índice es una estructura de datos que permite acceso rápido a la información, algo similar a lo que podría ser el índice de un libro.

Búsqueda:

El proceso de búsqueda consiste en consultar el índice para obtener los documentos donde aparecen unas determinadas palabras o bien concuerdan con una determinada expresión de consulta.