Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Drupal 8 más rápido que nunca con Apache Solr

534 views

Published on

Presentación en el marco del Drupal Camp Costa Rica 2017
---------------------------------------------------------------------

La velocidad de un sitio es importante, muy importante, para los visitantes o clientes y para los motores de búsqueda. Es un indicador esencial del éxito de cualquier sitio.

¿Pero cómo podemos hacer que nuestro sitio Drupal 8 sea todavía más rápido, aún cuando tenemos millones de visitas, miles de usuarios autenticados o millones de documentos? ¿Y con todo esto, cómo podemos acelerar las búsquedas?

Apache Solr es la respuesta. En esta sesión veremos el porqué y el cómo hacerlo en Drupal 8, y no sólo para las búsquedas, pero también para views.

Published in: Software
  • Be the first to comment

Drupal 8 más rápido que nunca con Apache Solr

  1. 1. Drupal 8 más rápido que nunca con Apache Solr Karim Boudjema Schombourg Drupal Camp Costa Rica 2017
  2. 2.  + 17 años trabajando con periódicos  Desarrollando periódicos en línea con Drupal 5.x, 6.x, 7.x, 8.x  Miembro activo de Drupal Bolivia y Drupal Belgium  + 10 años con Drupal  Gerente de proyectos en Smartica en Bolivia @karimboudjema http://www.smarticaweb.com Karim Boudjema (KarimB)
  3. 3. Algunos trabajos con Drupal ... UCB http://www.lostiempos.com https://www.neweurope.eu/ http://enciclomedico.org/ http://www.laprensa.com.bo http://www.elfec.com/ http://postgrado.ucbcba.edu.bo/
  4. 4. Algunos trabajos con Drupal ... En Drupal 7: http://www.lostiempos.com En Drupal 8: http://www.laprensa.com.bo
  5. 5. Objetivo  Conceptos básicos de Apache Solr  Ya se puede utilizar Solr con Drupal8
  6. 6. Indice  La comunidad Drupal  El problema  Introducción a Apache Solr / Lucene  Instalar Search API Solr : Like a Boss  Configurar Drupal y Apache Solr  Facetas  Tips – Stop Words
  7. 7. La comunidad Drupal Drupal Camp Bolivia 2013
  8. 8.  Miles de cabezas son más potentes que una  Muchas de la funcionalidades que buscamos ya existen! NO reinventes la rueda!  Hay desarrolladores Drupal que son genios! Aprovecha de su experiencia!  Sin la comunidad la curva de aprendizaje es .... casi imposible La comunidad Drupal
  9. 9. Mis mentores Jeff Geerling @geerlingguy Joaquín Bravo @jackbravo
  10. 10. Los Problemas
  11. 11. Los Problemas Sitios Drupal Performance 2 problemas que muchos sitios enfrentan: Performance + Experiencia de búsqueda Experiencia de Búsqueda
  12. 12.  SQL no ha sido diseñado para para búsquedas full-text, por eso es lento.  Drupal no es rápido para usuarios autenticados. El problema
  13. 13. ¿La Solución? Performance Experiencia de Búsqueda +
  14. 14.  Muy rápido para buscar en cientos de miles de documentos  Relevancia en búsquedas  Sorting / Boosting  Multiples index  Integración con Views  Navegación por Facetas  Autocomplete y Spell Checker (rápido)  More like this  Respeta derechos de usuarios  Búsquedas “geospaciales “ La Solución: Search Api Solr Experiencia de Búsqueda +
  15. 15. Experiencia en búsqueda Facetas RelevanciaFacetas Lo más buscado Keyword Ordenar lostiempos.com
  16. 16.  Lo que necesitamos hoy en búsqueda Herramientas de búsqueda FacetasFacetas Ordenar clasificados.lostiempos.com
  17. 17.  Búsquedas super rápidas  Solr no utiliza la DB de Drupal – Es por eso que lo vamos a utilizarlo tambíen como backend para las vistas (views), lo que va a mejorar considerablemente la velocidad del sitio. La Solución: Search Api Solr Performance +
  18. 18. ¿Qué es Solr?
  19. 19.  Aplicación web Java  Expone por HTTP (Rest Like) la librería de búsqueda full-text Lucene  Solr = Serverlization de Lucene  Pero aporta unos extras sobre Lucene  Creado en 2005 por Yonik Seeley de Cnet  Contribuido a la Apache Fundation en Ene 2006  Versión 6.6.0  Permite también indexar documentos PDF, MS Office, MP3, Imagenes ... (Apache Tika) ¿Qué es Apache Solr?
  20. 20. ¿Quien utiliza Apache Solr?
  21. 21. El índice invertido bye bye select like “%blue sky%” ¿Porqué Solr es rápido para búsquedas?
  22. 22. Proceso de indexación en Solr
  23. 23. ¿Qué es Apache Solr? Maria DB Apache SOLR DRUPAL SQL POST en el Index Búsqueda a través de Get requests Gracias a Solr, tenemos un segundo backend mucho más rápido para búsquedas y para nuestras vistas
  24. 24. Apache Solr como backend de Views PHP 7NGNIX Browser Cache CDN Reverse proxy OpCode Cache PHP (*) Cache engine Query Cache MariaDB SQL Queries Boost HTTP GET/POST (*) En PHP7 el opCode cache viene por defecto http://jpauli.github.io/2015/03/05/opcache.html Apache Solr memcache
  25. 25. Porqué utilizar Solr con Drupal?  Performance – Para búsquedas – En general para vistas  Mejor experiencia de búsqueda – Facetas – Relevancia – Boosting – Spell checker En resumen
  26. 26.  Instalar Apache Solr  Instalar Drupal  Descargar los módulos  Search Api (search_api)  Facets (facets)  Solr Search (search_api_solr) – Solr Search Defaults (search_api_solr_defaults)  Configurar Drupal y Solr Antes de empezar...
  27. 27. Instalar Solr: Llamar al Dev Ops
  28. 28.  Drupal VM  Módulo: Solr Search Defaults Otra opción: Like a Boss Jeff Geerling
  29. 29.  Descargar Drupal VM: https://www.drupalvm.com/  Cambiar en config.yml Like a Boss: Drupal VM
  30. 30. Lanzar la VM vagrant up Like a Boss: Drupal VM
  31. 31. Like a Boss: Drupal VM
  32. 32. Habilitar los módulos Search API y Solr Search -> drupal moi search_api_solr Deshabilitar el módulo (del core) Search Like a Boss: Configurar Drupal y Solr
  33. 33. Habilitar el módulo Solr Search Defaults ¿Qué hace este módulo? 1. Copia la configuración /modules/contrib/search_api_solr/solr-conf a /var/solr/data/d8/conf 2. Configura el Server Solr y el Index Solr 3. Configura algunos campos a indexar Like a Boss: Configurar Drupal y Solr
  34. 34. Módulos: Search Api (search_api) Framework genérico para búsquedas Facets (facets) Interface genéricas de búsqueda por facetas Solr Search (search_api_solr) Implementación de Search Api que utiliza Apache Solr como servidor para indexar y buscar contenidos Solr Search Defaults (search_api_solr_defaults) Módulo que configura Solr Search Solarium Solr client library for PHP Apache Solr y Drupal
  35. 35.  Añadir campos y filtros que necesitamos al Index  Configurar los processors  Crear la vista  Crear las facetas Drupal y Solr: Configurar la búsqueda
  36. 36. DEMO TIME !!
  37. 37. DEMO TIME !! Objetivo de la Demo 1. Indexar Contenidos 2. Hacer la Vista “Búsqueda” 3. Hacer las facetas
  38. 38.  Editar el archivo stopwords.txt y añadir la lista de palabras a no indexar  /var/solr/data/-collectionUsed-/conf/stopwords.txt  Editar el schema.xml  /var/solr/data/-collectionUsed-/conf/schema.xml  y añadir format="snowball" Tips: Drupal y Solr - Stop Words
  39. 39. ¿Preguntas?

×