SlideShare una empresa de Scribd logo
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/

Más contenido relacionado

La actualidad más candente

Il PNRR, dal piano agli investimenti delle imprese: come cogliere le opportunità
Il PNRR, dal piano agli investimenti delle imprese: come cogliere le opportunitàIl PNRR, dal piano agli investimenti delle imprese: come cogliere le opportunità
Il PNRR, dal piano agli investimenti delle imprese: come cogliere le opportunità
SMAU
 
Self driving cars -
Self driving cars - Self driving cars -
Self driving cars -
Hany G. Amer
 
The future of H2 economy with the position of H2 in Heavy duty mobility | Spa...
The future of H2 economy with the position of H2 in Heavy duty mobility | Spa...The future of H2 economy with the position of H2 in Heavy duty mobility | Spa...
The future of H2 economy with the position of H2 in Heavy duty mobility | Spa...
Cluster TWEED
 
2020-2024 strategic plan: Towards Net Zero
2020-2024 strategic plan: Towards Net Zero2020-2024 strategic plan: Towards Net Zero
2020-2024 strategic plan: Towards Net Zero
Snam
 
Autonomous-Vehicles.pptx
Autonomous-Vehicles.pptxAutonomous-Vehicles.pptx
Autonomous-Vehicles.pptx
MSBaloria
 
Nuevos roles del bibliotecario
Nuevos roles del bibliotecarioNuevos roles del bibliotecario
Nuevos roles del bibliotecario
Nieves Gonzalez
 
Piston less pump
Piston less pumpPiston less pump
Piston less pump
Deepak Vishwakarma
 
Predicting Vehicle Fuel Consumption & Emissions
Predicting Vehicle Fuel Consumption & EmissionsPredicting Vehicle Fuel Consumption & Emissions
Predicting Vehicle Fuel Consumption & Emissions
SGS
 
speexx-certificate
speexx-certificatespeexx-certificate
speexx-certificateKevin Lv
 

La actualidad más candente (10)

Il PNRR, dal piano agli investimenti delle imprese: come cogliere le opportunità
Il PNRR, dal piano agli investimenti delle imprese: come cogliere le opportunitàIl PNRR, dal piano agli investimenti delle imprese: come cogliere le opportunità
Il PNRR, dal piano agli investimenti delle imprese: come cogliere le opportunità
 
Self driving cars -
Self driving cars - Self driving cars -
Self driving cars -
 
The future of H2 economy with the position of H2 in Heavy duty mobility | Spa...
The future of H2 economy with the position of H2 in Heavy duty mobility | Spa...The future of H2 economy with the position of H2 in Heavy duty mobility | Spa...
The future of H2 economy with the position of H2 in Heavy duty mobility | Spa...
 
Green Engine PPT
Green Engine PPTGreen Engine PPT
Green Engine PPT
 
2020-2024 strategic plan: Towards Net Zero
2020-2024 strategic plan: Towards Net Zero2020-2024 strategic plan: Towards Net Zero
2020-2024 strategic plan: Towards Net Zero
 
Autonomous-Vehicles.pptx
Autonomous-Vehicles.pptxAutonomous-Vehicles.pptx
Autonomous-Vehicles.pptx
 
Nuevos roles del bibliotecario
Nuevos roles del bibliotecarioNuevos roles del bibliotecario
Nuevos roles del bibliotecario
 
Piston less pump
Piston less pumpPiston less pump
Piston less pump
 
Predicting Vehicle Fuel Consumption & Emissions
Predicting Vehicle Fuel Consumption & EmissionsPredicting Vehicle Fuel Consumption & Emissions
Predicting Vehicle Fuel Consumption & Emissions
 
speexx-certificate
speexx-certificatespeexx-certificate
speexx-certificate
 

Destacado

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
Ivá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úsqueda
David 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 Friends
Julien 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 Tika
Paolo 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-01
David Smiley
 
Apache Tika end-to-end
Apache Tika end-to-endApache Tika end-to-end
Apache Tika end-to-end
gagravarr
 
Content Analysis with Apache Tika
Content Analysis with Apache TikaContent Analysis with Apache Tika
Content Analysis with Apache Tika
Paolo 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 Friends
lucenerevolution
 
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
 
ProjectHub
ProjectHubProjectHub
Web Crawling with Apache Nutch
Web Crawling with Apache NutchWeb Crawling with Apache Nutch
Web Crawling with Apache Nutch
sebastian_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ñol
Toni de la Fuente
 
An introduction to Storm Crawler
An introduction to Storm CrawlerAn introduction to Storm Crawler
An introduction to Storm Crawler
Julien Nioche
 
PLAT-13 Metadata Extraction and Transformation
PLAT-13 Metadata Extraction and TransformationPLAT-13 Metadata Extraction and Transformation
PLAT-13 Metadata Extraction and Transformation
Alfresco Software
 
Introducción a Solr
Introducción a SolrIntroducción a Solr
Introducción a Solr
Jorge Luis Betancourt Gonzalez
 
Conferencia 3: solrconfig.xml
Conferencia 3: solrconfig.xmlConferencia 3: solrconfig.xml
Conferencia 3: solrconfig.xml
Jorge Luis Betancourt Gonzalez
 

Destacado (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
 

Similar a Mejorando la búsqueda Web con Apache Solr

Bases de datos
Bases de datosBases de datos
Bases de datos
nancy gutierrez
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
Antonio Alonso Antonio
 
Base de datos
Base de datosBase de datos
Base de datos
Felipe Guzman Gonzalez
 
Base de datos pedraza
Base de datos  pedraza Base de datos  pedraza
Base de datos pedraza
Flora Pedraza
 
Base de datos pedraza
Base de datos  pedraza Base de datos  pedraza
Base de datos pedraza
Flora Pedraza
 
Bases de datos
Bases de datosBases de datos
Bases de datos
RoOxy DeSrosiers
 
DOCENTE
DOCENTEDOCENTE
Presentacion
PresentacionPresentacion
Presentacion
luzrivera66
 
Principales bases de datos existentes
Principales bases de datos existentesPrincipales bases de datos existentes
Principales bases de datos existentes
chackws
 
Principales bases de datos existentes
Principales bases de datos existentesPrincipales bases de datos existentes
Principales bases de datos existentes
Wilson Martínez Martínez
 
Base de datos
Base de datosBase de datos
Base de datos
Blanca Huerta Carrillo
 
Herramientas de busqueda
Herramientas de busquedaHerramientas de busqueda
Herramientas de busquedaavelizapa
 
Presentacion base de datos
Presentacion base de datosPresentacion base de datos
Presentacion base de datos
ana rosa ruiz
 
Base de datos 1
Base de datos 1Base de datos 1
Base de datos 1
Edgar Ivan Salazar Olmedo
 
Base de datos
Base de datosBase 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
jhoselt
 
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
JuniorMiraval
 
MongoDB
MongoDBMongoDB
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
efrain_bautista
 
Actividad de aprendizaje 4
Actividad de aprendizaje 4Actividad de aprendizaje 4
Actividad de aprendizaje 4
efrain_bautista
 

Similar a 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
 

Más de Iván Campaña Naranjo

Integrando AngularJS y drupal
Integrando AngularJS y drupalIntegrando AngularJS y drupal
Integrando AngularJS y drupal
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 emprendedores
Ivá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óviles
Iván Campaña Naranjo
 
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
Ivá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 pesadilla
Ivá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 empresas
Ivá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 disponibilidad
Iván Campaña Naranjo
 

Más de 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
 

Último

PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdfPC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
JhenryHuisa1
 
Arquitectura de Sistema de Reservaciones
Arquitectura de Sistema de ReservacionesArquitectura de Sistema de Reservaciones
Arquitectura de Sistema de Reservaciones
AlanL15
 
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
AbbieDominguezGirond
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
eliersin13
 
Buscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - BuscafiestaBuscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - Buscafiesta
holabuscafiesta
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptxTECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
KatiuskaDominguez2
 

Último (6)

PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdfPC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
 
Arquitectura de Sistema de Reservaciones
Arquitectura de Sistema de ReservacionesArquitectura de Sistema de Reservaciones
Arquitectura de Sistema de Reservaciones
 
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
 
Buscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - BuscafiestaBuscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - Buscafiesta
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptxTECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
 

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/