SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
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
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/

Weitere ähnliche Inhalte

Andere mochten auch

Sitios web de alto rendimiento y alta disponibilidad
Sitios web de alto rendimiento y alta disponibilidadSitios web de alto rendimiento y alta disponibilidad
Sitios web de alto rendimiento y alta disponibilidadIván Campaña Naranjo
 
Drupal + Solr Mejorando la experiencia de búsqueda
Drupal + Solr Mejorando la experiencia de búsquedaDrupal + Solr Mejorando la experiencia de búsqueda
Drupal + Solr Mejorando la experiencia de búsquedaDavid Gil Sánchez
 
Large Scale Crawling with Apache Nutch and Friends
Large Scale Crawling with Apache Nutch and FriendsLarge Scale Crawling with Apache Nutch and Friends
Large Scale Crawling with Apache Nutch and FriendsJulien Nioche
 
Faster! Optimize Your Cascade Server Experience, by Justin Klingman, Beacon T...
Faster! Optimize Your Cascade Server Experience, by Justin Klingman, Beacon T...Faster! Optimize Your Cascade Server Experience, by Justin Klingman, Beacon T...
Faster! Optimize Your Cascade Server Experience, by Justin Klingman, Beacon T...hannonhill
 
Open source enterprise search and retrieval platform
Open source enterprise search and retrieval platformOpen source enterprise search and retrieval platform
Open source enterprise search and retrieval platformmteutelink
 
Content analysis for ECM with Apache Tika
Content analysis for ECM with Apache TikaContent analysis for ECM with Apache Tika
Content analysis for ECM with Apache TikaPaolo Mottadelli
 
Populate your Search index, NEST 2016-01
Populate your Search index, NEST 2016-01Populate your Search index, NEST 2016-01
Populate your Search index, NEST 2016-01David Smiley
 
Apache Tika end-to-end
Apache Tika end-to-endApache Tika end-to-end
Apache Tika end-to-endgagravarr
 
Content Analysis with Apache Tika
Content Analysis with Apache TikaContent Analysis with Apache Tika
Content Analysis with Apache TikaPaolo Mottadelli
 
Large Scale Crawling with Apache Nutch and Friends
Large Scale Crawling with Apache Nutch and FriendsLarge Scale Crawling with Apache Nutch and Friends
Large Scale Crawling with Apache Nutch and Friendslucenerevolution
 
Search Engine Capabilities - Apache Solr(Lucene)
Search Engine Capabilities - Apache Solr(Lucene)Search Engine Capabilities - Apache Solr(Lucene)
Search Engine Capabilities - Apache Solr(Lucene)Manish kumar
 
Web Crawling with Apache Nutch
Web Crawling with Apache NutchWeb Crawling with Apache Nutch
Web Crawling with Apache Nutchsebastian_nagel
 
Alfresco y SOLR, presentación en español
Alfresco y SOLR, presentación en españolAlfresco y SOLR, presentación en español
Alfresco y SOLR, presentación en españolToni de la Fuente
 
An introduction to Storm Crawler
An introduction to Storm CrawlerAn introduction to Storm Crawler
An introduction to Storm CrawlerJulien Nioche
 
PLAT-13 Metadata Extraction and Transformation
PLAT-13 Metadata Extraction and TransformationPLAT-13 Metadata Extraction and Transformation
PLAT-13 Metadata Extraction and TransformationAlfresco Software
 

Andere mochten auch (20)

Sitios web de alto rendimiento y alta disponibilidad
Sitios web de alto rendimiento y alta disponibilidadSitios web de alto rendimiento y alta disponibilidad
Sitios web de alto rendimiento y alta disponibilidad
 
Bases de conocimiento vs bases de datos
Bases de conocimiento vs bases de datosBases de conocimiento vs bases de datos
Bases de conocimiento vs bases de datos
 
Drupal + Solr Mejorando la experiencia de búsqueda
Drupal + Solr Mejorando la experiencia de búsquedaDrupal + Solr Mejorando la experiencia de búsqueda
Drupal + Solr Mejorando la experiencia de búsqueda
 
Large Scale Crawling with Apache Nutch and Friends
Large Scale Crawling with Apache Nutch and FriendsLarge Scale Crawling with Apache Nutch and Friends
Large Scale Crawling with Apache Nutch and Friends
 
Faster! Optimize Your Cascade Server Experience, by Justin Klingman, Beacon T...
Faster! Optimize Your Cascade Server Experience, by Justin Klingman, Beacon T...Faster! Optimize Your Cascade Server Experience, by Justin Klingman, Beacon T...
Faster! Optimize Your Cascade Server Experience, by Justin Klingman, Beacon T...
 
Open source enterprise search and retrieval platform
Open source enterprise search and retrieval platformOpen source enterprise search and retrieval platform
Open source enterprise search and retrieval platform
 
Content analysis for ECM with Apache Tika
Content analysis for ECM with Apache TikaContent analysis for ECM with Apache Tika
Content analysis for ECM with Apache Tika
 
Populate your Search index, NEST 2016-01
Populate your Search index, NEST 2016-01Populate your Search index, NEST 2016-01
Populate your Search index, NEST 2016-01
 
Apache Tika end-to-end
Apache Tika end-to-endApache Tika end-to-end
Apache Tika end-to-end
 
Content Analysis with Apache Tika
Content Analysis with Apache TikaContent Analysis with Apache Tika
Content Analysis with Apache Tika
 
Large Scale Crawling with Apache Nutch and Friends
Large Scale Crawling with Apache Nutch and FriendsLarge Scale Crawling with Apache Nutch and Friends
Large Scale Crawling with Apache Nutch and Friends
 
Search Engine Capabilities - Apache Solr(Lucene)
Search Engine Capabilities - Apache Solr(Lucene)Search Engine Capabilities - Apache Solr(Lucene)
Search Engine Capabilities - Apache Solr(Lucene)
 
ProjectHub
ProjectHubProjectHub
ProjectHub
 
Web Crawling with Apache Nutch
Web Crawling with Apache NutchWeb Crawling with Apache Nutch
Web Crawling with Apache Nutch
 
Alfresco y SOLR, presentación en español
Alfresco y SOLR, presentación en españolAlfresco y SOLR, presentación en español
Alfresco y SOLR, presentación en español
 
An introduction to Storm Crawler
An introduction to Storm CrawlerAn introduction to Storm Crawler
An introduction to Storm Crawler
 
Search engine
Search engineSearch engine
Search engine
 
PLAT-13 Metadata Extraction and Transformation
PLAT-13 Metadata Extraction and TransformationPLAT-13 Metadata Extraction and Transformation
PLAT-13 Metadata Extraction and Transformation
 
Introducción a Solr
Introducción a SolrIntroducción a Solr
Introducción a Solr
 
Conferencia 3: solrconfig.xml
Conferencia 3: solrconfig.xmlConferencia 3: solrconfig.xml
Conferencia 3: solrconfig.xml
 

Ähnlich wie Mejorando la búsqueda Web con Apache Solr

Ähnlich wie Mejorando la búsqueda Web con Apache Solr (20)

Bases de datos
Bases de datosBases de datos
Bases de datos
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos pedraza
Base de datos  pedraza Base de datos  pedraza
Base de datos pedraza
 
Base de datos pedraza
Base de datos  pedraza Base de datos  pedraza
Base de datos pedraza
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
DOCENTE
DOCENTEDOCENTE
DOCENTE
 
Presentacion
PresentacionPresentacion
Presentacion
 
Principales bases de datos existentes
Principales bases de datos existentesPrincipales bases de datos existentes
Principales bases de datos existentes
 
Principales bases de datos existentes
Principales bases de datos existentesPrincipales bases de datos existentes
Principales bases de datos existentes
 
Base de datos
Base de datosBase de datos
Base de datos
 
Herramientas de busqueda
Herramientas de busquedaHerramientas de busqueda
Herramientas de busqueda
 
Presentacion base de datos
Presentacion base de datosPresentacion base de datos
Presentacion base de datos
 
Base de datos 1
Base de datos 1Base de datos 1
Base de datos 1
 
Base de datos
Base de datosBase de datos
Base de datos
 
Actividad de aprendizaje 4 screencast y bases de datos.jltc
Actividad de aprendizaje 4 screencast y bases de datos.jltcActividad de aprendizaje 4 screencast y bases de datos.jltc
Actividad de aprendizaje 4 screencast y bases de datos.jltc
 
base de datos con codigos abiertos.pptx
base de datos con codigos abiertos.pptxbase de datos con codigos abiertos.pptx
base de datos con codigos abiertos.pptx
 
MongoDB
MongoDBMongoDB
MongoDB
 
Actividad de aprendizaje 4: base de datos
Actividad de aprendizaje 4: base de datosActividad de aprendizaje 4: base de datos
Actividad de aprendizaje 4: base de datos
 
Actividad de aprendizaje 4
Actividad de aprendizaje 4Actividad de aprendizaje 4
Actividad de aprendizaje 4
 

Mehr von Iván Campaña Naranjo

De idea a mvp, drupal para emprendedores
De idea a mvp, drupal para emprendedoresDe idea a mvp, drupal para emprendedores
De idea a mvp, drupal para emprendedoresIván Campaña Naranjo
 
Framework para desarrollo de apps móviles
Framework para desarrollo de apps móvilesFramework para desarrollo de apps móviles
Framework para desarrollo de apps móvilesIván Campaña Naranjo
 
Emprendimiento de TICs, sueño o pesadilla
Emprendimiento de TICs, sueño o pesadillaEmprendimiento de TICs, sueño o pesadilla
Emprendimiento de TICs, sueño o pesadillaIván Campaña Naranjo
 
Software libre como fuente de poder en las empresas
Software libre como fuente de poder en las empresasSoftware libre como fuente de poder en las empresas
Software libre como fuente de poder en las empresasIván Campaña Naranjo
 
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidadDrupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidadIván Campaña Naranjo
 

Mehr von Iván Campaña Naranjo (7)

Integrando AngularJS y drupal
Integrando AngularJS y drupalIntegrando AngularJS y drupal
Integrando AngularJS y drupal
 
De idea a mvp, drupal para emprendedores
De idea a mvp, drupal para emprendedoresDe idea a mvp, drupal para emprendedores
De idea a mvp, drupal para emprendedores
 
Framework para desarrollo de apps móviles
Framework para desarrollo de apps móvilesFramework para desarrollo de apps móviles
Framework para desarrollo de apps móviles
 
Creación de proyectos web con Drupal
Creación de proyectos web con DrupalCreación de proyectos web con Drupal
Creación de proyectos web con Drupal
 
Emprendimiento de TICs, sueño o pesadilla
Emprendimiento de TICs, sueño o pesadillaEmprendimiento de TICs, sueño o pesadilla
Emprendimiento de TICs, sueño o pesadilla
 
Software libre como fuente de poder en las empresas
Software libre como fuente de poder en las empresasSoftware libre como fuente de poder en las empresas
Software libre como fuente de poder en las empresas
 
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidadDrupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
 

Mejorando la búsqueda Web con Apache Solr

  • 1. 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
  • 2. 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.
  • 3. 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.
  • 4. ¿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.
  • 5. ¿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.
  • 8. Búsqueda de texto completo Permite buscar por palabras completas, fragmentos, frases, campos, fechas, autor, clasificación de cualquier tipo.
  • 9. Resaltado de texto Permite marcar los términos de búsqueda utilizados en la consulta
  • 10. 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
  • 11. 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.
  • 12. 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.
  • 13. 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)
  • 14. 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.
  • 15. 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.
  • 16. 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
  • 17. 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).
  • 18. Ejemplo de arquitectura final Puede convertirse en un cluster
  • 19. Enlaces Página oficial: http://lucene.apache.org/solr/ Tutorial de uso de Apache Solr: http://www.solrtutorial.com/