mejorando la búsqueda web con apache solr

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

Upload: ivan-campana-naranjo

Post on 21-Jul-2015

231 views

Category:

Software


4 download

TRANSCRIPT

Page 1: Mejorando la búsqueda Web con Apache Solr

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

Page 2: Mejorando la búsqueda Web con Apache Solr

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.

Page 3: Mejorando la búsqueda Web con Apache Solr

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.

Page 4: Mejorando la búsqueda Web con Apache Solr

¿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.

Page 5: Mejorando la búsqueda Web con Apache Solr

¿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.

Page 6: Mejorando la búsqueda Web con Apache Solr

¿Quiénes usan Solr?

Page 7: Mejorando la búsqueda Web con Apache Solr

Características de Apache Solr

Page 8: Mejorando la búsqueda Web con Apache Solr

Búsqueda de texto completo

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

Page 9: Mejorando la búsqueda Web con Apache Solr

Resaltado de texto

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

Page 10: Mejorando la búsqueda Web con Apache Solr

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

Page 11: Mejorando la búsqueda Web con Apache Solr

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.

Page 12: Mejorando la búsqueda Web con Apache Solr

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.

Page 13: Mejorando la búsqueda Web con Apache Solr

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)

Page 14: Mejorando la búsqueda Web con Apache Solr

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.

Page 15: Mejorando la búsqueda Web con Apache Solr

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.

Page 16: Mejorando la búsqueda Web con Apache Solr

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

Page 17: Mejorando la búsqueda Web con 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).

Page 18: Mejorando la búsqueda Web con Apache Solr

Ejemplo de arquitectura final

Puede convertirse en un cluster

Page 19: Mejorando la búsqueda Web con Apache Solr

Enlaces

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

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