drupal 8 más rápido que nunca con apache solr
TRANSCRIPT
Drupal 8 más rápido que nunca con Apache Solr
Karim Boudjema Schombourg
Drupal Camp Costa Rica 2017
+ 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)
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/
Algunos trabajos con Drupal ...
En Drupal 7: http://www.lostiempos.com En Drupal 8: http://www.laprensa.com.bo
Objetivo
Conceptos básicos de Apache Solr
Ya se puede utilizar Solr con Drupal8
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
La comunidad Drupal
Drupal Camp Bolivia 2013
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
Mis mentores
Jeff Geerling
@geerlingguy
Joaquín Bravo
@jackbravo
Los Problemas
Los Problemas
Sitios Drupal
Performance
2 problemas que muchos sitios enfrentan: Performance + Experiencia de búsqueda
Experiencia de Búsqueda
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
¿La Solución?
Performance
Experiencia de Búsqueda
+
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 deBúsqueda
+
Experiencia en búsqueda
Facetas RelevanciaFacetas
Lo más buscado
Keyword
Ordenar
lostiempos.com
Lo que necesitamos hoy en búsqueda
Herramientas de búsqueda
FacetasFacetas
Ordenar
clasificados.lostiempos.com
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
+
¿Qué es Solr?
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?
¿Quien utiliza Apache Solr?
El índice invertido
bye bye select like “%blue sky%”
¿Porqué Solr es rápido para búsquedas?
Proceso de indexación en Solr
¿Qué es Apache Solr?
Maria DB Apache SOLR
DRUPAL
SQL
POSTen 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
Apache Solr como backend de Views
PHP 7NGNIX
BrowserCache CDN Reverse
proxy
OpCodeCache PHP (*)
Cache engine
QueryCache
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
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
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...
Instalar Solr: Llamar al Dev Ops
Drupal VM Módulo: Solr Search Defaults
Otra opción: Like a Boss
Jeff Geerling
Descargar Drupal VM: https://www.drupalvm.com/
Cambiar en config.yml
Like a Boss: Drupal VM
Lanzar la VM vagrant up
Like a Boss: Drupal VM
Like a Boss: Drupal VM
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
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
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
SolariumSolr client library for PHP
Apache Solr y Drupal
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
DEMO TIME !!
DEMO TIME !!
Objetivo de la Demo
1. Indexar Contenidos
2. Hacer la Vista “Búsqueda”
3. Hacer las facetas
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
¿Preguntas?