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.
Programación de Componentes para Joomla (Gabriel Cuesta)
Drupal 8 más rápido que nunca con Apache Solr
1. Drupal 8 más rápido que
nunca con Apache Solr
Karim Boudjema Schombourg
Drupal Camp Costa Rica 2017
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. 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. Algunos trabajos con Drupal ...
En Drupal 7: http://www.lostiempos.com En Drupal 8: http://www.laprensa.com.bo
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
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
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
+
16. Lo que necesitamos hoy en búsqueda
Herramientas de búsqueda
FacetasFacetas
Ordenar
clasificados.lostiempos.com
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
+
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?
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. 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. 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.
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...
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. 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. 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.
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
37. DEMO TIME !!
Objetivo de la Demo
1. Indexar Contenidos
2. Hacer la Vista “Búsqueda”
3. Hacer las facetas
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