mejorando la búsqueda web con apache solr

Post on 21-Jul-2015

232 Views

Category:

Software

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Mejorando la búsqueda en la web con Apache SolrIván G. Campaña N.CTO y Co-Fundador de DOMO Soluciones Web & T.I.@icampana

Búsqueda de información

● ¿Qué pasaría si la web funcionara como una inmensa biblioteca con millones de libros?

● No importa qué tan bien organizada, categorizada y estructurada esté la información

● El volumen hace que sea imposible encontrar algo específico en poco tiempo.

La semántica le gana a la estructura● La búsqueda de

información resulta más práctica al enfocarse en el contenido

● La “metadata” o descripción es muy “dura”

● Google le ganó a Altavista por enfocarse en el significado.

¿Cuando aplicar un sistema de búsqueda?

● Cualquier sistema de información web que maneje un alto volumen de documentos.

● Cuando encontrar la información en base a múltiples parámetros sea una prioridad.

● Donde sea necesario mejorar la experiencia del usuario en cuanto a navegación y tiempo de respuesta.

¿Qué es Apache Solr?

● Un motor de búsqueda de código abierto con capacidad empresarial que puede indexar y buscar documentos en base a las características que indiquemos.

● Es independiente del lenguaje de programación, del tipo de aplicación y la plataforma.

¿Quiénes usan Solr?

Características de Apache Solr

Búsqueda de texto completo

Permite buscar por palabras completas, fragmentos, frases, campos, fechas, autor, clasificación de cualquier tipo.

Resaltado de texto

Permite marcar los términos de búsqueda utilizados en la consulta

Búsqueda por “facetas”● Permite reducir o

fragmentar el espacio de búsqueda.

● Mejora la experiencia del usuario.

● Indexa campos de los diferentes contenidos

● Fragmenta la información

Características de Apache Solr

● Soporta grandes volúmenes de información.○ Una instalación simple puede manejar Terabytes de

información y responder en menos de 200 milisegundos.

● Se basa en estándares abiertos.● Se puede tener 1 servidor de búsquedas

para múltiples aplicaciones.

Características de Apache Solr...

● Hace correcciones ortográficas sobre la búsqueda○ Ej: buscar arvol y recomendar la búsqueda de

contenidos que digan árbol.● Permite indexación asíncrona

○ La indexación es independiente de la aplicación principal.

● Soporta diferentes características por cada tipo de campo indexado.

Características de Apache Solr...

● Es independiente de la infraestructura (puede funcionar con cualquier lenguaje de programación y base de datos).

● Puede procesar documentos de Word y PDFs

● Permite búsqueda geoespacial (si los documentos tienen coordenadas geográficas)

Características de Apache Solr...

● Permite replicar la información y distribuir el índice de búsqueda entre múltiples servidores.

● Soporta caché para las búsquedas.● Reduce/Elimina la carga de la BD y del

servidor web.

BD Relacional vs Solr● La información se almacena en una BD transaccional

(donde la lectura/escritura es costosa).● Funciona con índices específicos y normalmente no

soporta búsquedas contextuales o de similitudes.● La indexación y búsqueda consumen recursos que

deberían utilizarse para transaccionalidad.● La BD relacional necesita muchos más recursos para

responder a la demanda de un sitio con alta carga.

Requisitos básicos

- Java version 1.6 o superior (1.8 recomendado)

- Servidor capaz de ejecutar servlets:- Ej: Glassfish, JBoss, Jetty, Tomcat, WebSphere, etc.

- La última versión disponible de Apache Solr

Integración con aplicaciones Web● Tanto indexación como recuperación se hace a través

de peticiones http con REST● Es necesario definir las características de la

información que se va a almacenar (Tipos de datos).● El formateo de los resultados se hace en la aplicación

cliente.● Si se usa facetas los parámetros de consulta deben ir

incluídos en la solicitud.● Hay algunos frameworks que ya soportan su uso por

defecto o con plugins (ej: Drupal, Typo3, Wordpress).

Ejemplo de arquitectura final

Puede convertirse en un cluster

Enlaces

Página oficial:http://lucene.apache.org/solr/

Tutorial de uso de Apache Solr:http://www.solrtutorial.com/

top related