Alfresco y SOLR, presentación en español

36
1 El webinar comenzará en unos minutos. Las líneas de voz de los asistentes estarán desactivadas. Use el área de “Chat” o “Q&A” para hacer las preguntas que responderemos al finalizar la sesión.

description

SOLR es el nuevo motor de indexación que incorpora Alfresco en su versión 4.0, no obstante, se puede seguir usando Lucene. En este webinar de una hora de duración, junto a Baratz (Partner Gold de Alfresco), vamos a aprender qué es SOLR, cómo funciona y cómo está soportado, como configurarlo y migrar de Lucene a Solr, qué efectos tiene en el repositorio y que mejoras nos aporta.

Transcript of Alfresco y SOLR, presentación en español

Page 1: Alfresco y SOLR, presentación en español

1

El webinar comenzará en unos minutos.

Las líneas de voz de los asistentes estarán desactivadas. Use el área de “Chat” o “Q&A” para hacer las preguntas

que responderemos al finalizar la sesión.

Page 2: Alfresco y SOLR, presentación en español

Alfresco y SOLR Toni de la Fuente Senior Solutions Engineer twitter: @ToniBlyx blog: blyx.com Federico Gramage y Xose Manuel Paz [email protected] Baratz

Page 3: Alfresco y SOLR, presentación en español

Contenidos

•  Introducción - Nueva versión de Alfresco •  Despliegue de Alfresco con Solr •  Actualización de Alfresco 3.4 a Alfresco 4

o  Instalación nueva Alfresco 4 o  Pasos actualización Alfresco 3.4 a Alfresco 4.0 o  Configuración Alfresco con SOLR o  Consola administración SOLR o  Demo

•  Conclusiones y preguntas

Page 4: Alfresco y SOLR, presentación en español

Nueva versión de Alfresco

Page 5: Alfresco y SOLR, presentación en español

Alfresco 4.0 – Repositorio más robusto

• Mejorar la fiabilidad, escalabilidad y servicio.

•  Reducir la carga que implica el uso de Lucene en indexación transaccional

•  En 4.0 nuevo servicio de búsqueda usando Apache Solr

Page 6: Alfresco y SOLR, presentación en español

Lucene vs. SOLR

I

I

I

DB

FS

I

I

DB

FS

SOLR

Page 7: Alfresco y SOLR, presentación en español

Ventajas y mejoras con Solr

•  No se necesita indexación durante la transacción •  No se necesita duplicar los índices en cada servidor •  Las búsquedas pueden ser escaladas en una capa separada •  Se pueden usar las herramientas de administración de Solr •  Localización específica y mejorada para soporte multi-idoma.

o  P.ej. Ahora se registra el "locale" de un nodo, por lo que se pueden localizar documentos por idiomas (antes se perdía el locale con FTS). Antes los índices en español o francés perdían los "derivados", ahora se pueden encontrar y cruzar búsquedas entre idiomas de forma consistente (dataTypeAnalyzers)

•  Ordenación entre idiomas para propiedades d:text y d:mltext o  La "tokenizacción" de la configuración de localización utiliza ahora la WordDelimiterFilterFactory con todas

las opciones habilitadas (ALF-10071) o  en: peach péché pêche sin

o  fr: peach pêche péché sin

•  Mejor acierto en los resultados o  P.ej. BigWoof-123-A47.txt à .txt, Big, 123A, 123a47txt, 47, A47, BigWoof123A47txt

•  Rendimiento o  Consultas por PATH mejoradas o  Permisos de lectura evaludados durante la consulta

•  Campos basados en faceting en el SearchService o  Obtiene grupos de resultados – sólo usado para las categorías

Page 8: Alfresco y SOLR, presentación en español

Búsquedas con Solr en Alfresco

•  Los servicios basados en Lucene siguen disponibles

•  Solr es asíncrono o  Por defecto 15 segundos, puede ser configurado en un

cron en Solr, puede ser diferente para cada store/core o  Cuando hay actualizaciones se ejecuta

•  Solicita todas las nuevas actualizaciones que necesita conocer durante un minuto

•  Se soportan los mismos lenguajes de consulta o  lucene, fts-alfresco, cmis-strict, cmis-alfresco, xpath

(siempre en BD), noderef (usa BD) •  Nota: todos las consultas CMIS ahora usan

internamente opencmis non-strict

Page 9: Alfresco y SOLR, presentación en español

Canned Queries

•  Share, Explorer (excepto WCM), CIFS, FTP, WebDAV, etc., han sido reconfigurados para usar canned queries (Database) donde los resultados deben ser transaccionales y consistentes

•  La búsqueda (p.ej. Lucene o Solr) se usa para fíltros, etiquetas, categorias, búsqueda avanzada y algunos dashlets

•  Soporta paginación

Page 10: Alfresco y SOLR, presentación en español

Uso de Full Text Search en Share

•  Búsqueda avanzada •  Filtros •  Etiquetas •  Categorías

o  Top categories usan faceting

•  Dashlets o  Modificados recientemente

•  Personas, Grupos, Sitios usarán consultas a la BD directamente excepto cuando: o  Empiencen por *xyz o  Contengan un wildcard ??

Page 11: Alfresco y SOLR, presentación en español

Nuevos subsistemas

•  Nuevos subsistemas lucene, solr, searchmanager y noindex o  Con searchmanager se puede seleccionar que

subsistema de búsqueda se va a usar

•  Accesible vía JMX y Admin Console (excepto noindex)

Page 12: Alfresco y SOLR, presentación en español

Comunicación entre Repositorio y SOLR

•  El repositorio lanza las consultas a Solr •  Solr solicita al repositorio actualizaciones del modelo y

contenido que necesita indexar •  La información entre el Repositorio y Solr está

encriptada o  Previene intercepción de datos de terceros o  Asegura la privacidad de las transferencias o  Se usan claves RSA (pública/privada) para la encriptación desde el keystore por defecto

•  Autenticación en la conexión o  Protege la conexión entre Repo/Solr o  Garantiza que solo los repositorios e instancias acreditadas pueden hablar unos con otros o  Para autenticar se usan certificados X.509 (no se usa usuario/contraseña)

•  Nota: El cliente debe reemplazar las claves y certificados con los propios

Page 13: Alfresco y SOLR, presentación en español

Alfresco & Solr funcionamiento a alto nivel

Repositorio

Solr

Petición de búsquedas

Async: Index Polling

Solr Cores: - Workspace - Archive

Resultados de búsquedas

Content Store(s)

Database Storage

Solr Cores

Modelos ACLS Propiedades & Contenidos

Actualizaciones

Nota: Todas las comunicaciones son via SSL

Page 14: Alfresco y SOLR, presentación en español

Autenticación y cifrado Repositorio-Solr

•  La comunicación es sobre SSL con autenticación mutua o  Tanto repositorio como Solr tienen sus propios par de claves

públicas/privadas

•  Keystores del Repositorio o  ‘ssl keystore’ – contiene un par de claves RSA pública/privada para

la encriptación o  ‘ssl truststore’ – contiene certificados SSL de confianza para la

autenticación o  El directorio por defecto de los keystores es:

•  alfresco\WEB-INF\classes\alfresco\keystore

•  Keystores SSL de Solr o  Ubicación de los keystores cuando se usa el instalador: o  <SOLR>\archive-SpacesStore\conf o  <SOLR>\workspace-SpacesStore\conf

Page 15: Alfresco y SOLR, presentación en español

Comprobación de estado

•  Es necesario un certificado para autenticar y acceder a Solar mediante un navegador (brower.p12 contraseña “alfresco”)

•  Informe general o   http://localhost:8080/solr/admin/cores?action=REPORT&wt=xml

•  Informe basado en transacción (TX) o  http://localhost:8080/solr/admin/cores?

action=TXREPORT&core=alfresco&wt=xml&txid=6

•  Informe basado en nodo  o  http://localhost:8080/solr/admin/cores?

action=NODEREPORT&wt=xml&dbid=10

•  Añadir &core=alfresco o &core=archive como argumento para ver el estado de cada core

Page 16: Alfresco y SOLR, presentación en español

Control de indexación

•  No idexes si no tienes que hacerlo, p.ej.: o  No se requiere FTS para el contenido

•  Nuevo aspecto cm:indexControl (Control de índice) o  cm:isIndexed (Boolean)

•  Activa/desactiva todos los índices (propiedades y contenido) o  cm:isContentIndexed (Boolean)

•  Activa/desactiva la indexación del contenido o  Las dos están activadas por defecto. Toda indexación activa

•  Se puede configurar por cada contenido para activar o desactivar

•  Sirve tanto para Solr como para Lucene •  Usa el modelo, políticas o reglas para adaptarlo a tus

necesidades •  También se puede controlar por JMX a nivel global de todo el

repositorio

Page 17: Alfresco y SOLR, presentación en español

Despliege de Alfresco con Solr

Page 18: Alfresco y SOLR, presentación en español

Arquitecturas y opciones de despliegue

•  Solr es un war separado •  En la misma instancia de Tomcat •  Instancias separadas

o  1 Servidor Repositorio : 1 Servidor Solr

•  En Cluster p.ej.: o  Cluster de repositorio de 2 Nodos: 1 Servidor Solr o  Cluster de repositorio de 2 Nodos: 2 Servidores Solr o  Cluster de repositorio de 4 Nodos: 2 Servidor Solr o  ...y más

•  NOTA: Clustering o sharding de Solr no está soportado por defecto en 4.0

Page 19: Alfresco y SOLR, presentación en español

Instalación de Alfresco 4.0

•  Se recomienda usar el bundle con Alfresco y Solr, está pre-configurado. o  Descarga y ejecución del binario

alfresco-enterprise-4.0.0b-installer-win-x64.exe •  Si elegimos opción “Facil” seguimos como siempre, y se instalará SOLR en

la instancia de Alfresco

•  Si elegimos opción manual, sin asistentes recomendamos seguir la guía : http://docs.alfresco.com/4.0/index.jsp?topic=%2Fcom.alfresco.enterprise.doc%2Fconcepts%2Fsolr-webapp-config.html

•  Actualización de Alfresco 3.4 a Alfresco 4

Page 20: Alfresco y SOLR, presentación en español

ACTUALIZACIÓN ALFRESCO

Page 21: Alfresco y SOLR, presentación en español

Actualización - Resumen

•  Actualización o  Actulización normal => El servidor seguirá usando Lucene o  Instala y configura Solr (si instalas el bundle estará instalado) o  Activar la indexación con Solr

•  Lucene se sigue usando para las búsquedas mientras Solr genera sus índices

o  Cambia a Solr para las búsquedas cuando esté listo •  Comprobando el timestamp de la última transacción,

mediante JMX, DB o Panel indexmanager y el de Solr.

•  Nota: Puedes seguir usando Lucene si lo deseas

Page 22: Alfresco y SOLR, presentación en español

Actualización de Alfresco 3.4 a Alfresco 4

•  La actualización consiste en una nueva instalación y configuración de los binarios de Alfresco, y en remplazar el repositorio por la copia antigua.

No se recomienda actualizar los binarios y ficheros de configuración.

•  Antes de empezar con el proceso, debemos asegurarnos de: o  Tener una copia de seguridad del entorno de producción, por ejemplo, del

directorio 'alf_data'

o  Que el subsistema de Lucene este activo durante el proceso de actualización. Una vez finalizado, podremos activar Solr.

o  Si tenemos alguna personalización (por ejemplo, AMP) en la actual instalación de Alfresco, re-compilar todo el código Java contra la nueva versión de Alfresco y lanzar los test.

Page 23: Alfresco y SOLR, presentación en español

Actualización de Alfresco 3.4 a Alfresco 4

•  Paso 1: Comprobar la compatibildiad de nuestra plataforma: http://www.alfresco.com/services/subscription/supported-platforms/

•  Paso 2: Parar las instancias de Alfresco •  Paso 3: “Copia en frío” del repositorio.

o  Para una copia bastaría copiar los ficheros de dir.root y reindexar (como la reindexación es presada se copian también los índices)

o  La copia de seguridad de repositorio incluye: o  Directorio al que apunta el parámetro de configuración: dir.root o  La base de datos o  Empaquetar la BBDD y el dir.root como un único objeto y guardar en un

directorio.

•  Paso 4: Copia de configuraciones de <extension>

Page 24: Alfresco y SOLR, presentación en español

Actualización de Alfresco 3.4 a Alfresco 4

•  Paso 5: Descarga y descompresión del .war de alfresco o  Mover el .war a la ubicación de tu AS o  Incluir los parámetros de configuración en “propierties” o  Mover el “properties” al <classpathRoot>. o  En caso de tener desplegadass anteriores versiones eliminar temporales.

•  Paso 6: Validar la instalación de la nueva versión •  Paso 7: Restaurar la copia del repositorio

o  Parar instancias o  Guardar el dir.root actual en otra ubicación o  Copiar el repositorio o  Restaurar la copia de la BBDD o  Arrancar

•  Paso 8: Aplicar la configuraciones de <extension> •  Paso 9: Incluir las personalizaciones necesarias •  Paso 10: Arrancar Alfresco

Page 25: Alfresco y SOLR, presentación en español

Consola administración de Solr

•  La consola de administración de Solr es una herramienta que permite comprobar el servidor de Solr, su configuración, el estado de los índices, los campos que utiliza Alfresco, el peso del contenido indexado en cada campo, etc.

•  Antes de acceder a la consola de administración de Solr, debemos instalar un certificado en nuestro navegador.

•  El certificado que debemos instalar se encuentra en : $ALF_HOME/alf_data/keystore/browser.p12

Page 26: Alfresco y SOLR, presentación en español

Consola administración de Solr

Proceso de instalación del certificado en Google Chrome: •  Primero debemos acceder al menu de Herramientas de nuestro navegador. Una vez en el accederemos a la pestaña Avanzados: •  Accederemos a Administrar certificados... •  en la pestaña Personal, pulsaremos el botón Importar... •  Pulsamos en Examinar... y nos dirigimos al directorio indicado:

o  $ALF_HOME/alf_data/keystore/

•  Seleccionamos el fichero de certificado browser.p12 •  Pulsamos Abrir •  Pulsamos en Siguiente >

o  Incorporamos una contraseña para la clave privada .

Page 27: Alfresco y SOLR, presentación en español

Consola administración de Solr

Ahora ya prodremos acceder por url al administrador del Solr de nuestro Alfresco:

Page 28: Alfresco y SOLR, presentación en español

Consola administración de Solr

Podemos acceder al esquema del indice, y comprobar que tipos de campos se estan utilizando:

Page 29: Alfresco y SOLR, presentación en español

Consola administración de Solr

Por defecto, Alfresco ha creado su propio tipo de campo, y le ha aplicado un tokenizador y filtros. Se puede comprobar como actuaría a la hora de indexar y de buscar un texto:

Page 30: Alfresco y SOLR, presentación en español

Consola administración de Solr

Como se observa en la captura, a la hora de indexar, se van a separar cada una de las palabras que componen la frase, y aquellas que tuviesen signos de puntuación, se indexarían tanto con el signo como sin él. Esto se logra utilizando el tokenizador:

<tokenizer class="org.apache.solr.analysis.WhitespaceTokenizerFactory"/>

También se observa que a la hora de indexar, se pasarían todas las palabras a minúsculas. Esto se logra con el filtro:

<filter class="org.apache.solr.analysis.LowerCaseFilterFactory"/>

Page 31: Alfresco y SOLR, presentación en español

Demo

Page 32: Alfresco y SOLR, presentación en español

•  Novedades en el directorio de instalación de Alfresco

•  Tareas administrativas y de configuración

•  Configuración del subsistema Search con SOLR

•  Opciones de configuración de SOLR y Lucene con acceso por JMX

•  Acceso mediante la aplicación de administración de SOLR

•  Administración de cores con el API REST

Tareas de la demo

Page 33: Alfresco y SOLR, presentación en español

Preguntas frecuentes

•  ¿Tengo que usar Solr? o  No, puedes seguir usando Lucene si quieres

•  ¿Tengo que volver a programar mis consultas? o  No, seguimos soportando el mismo lenguaje de consultas que antes

•  ¿Hay diferencias de rendimiento entre Solr y Lucene? o  Con Solr la búsqueda debe ser más rápida, y la indexación más lenta pero…

•  Es escalable de forma independiente y configurable

•  ¿Puedo usar otras características de Solr como sharding, clustering, term hit-highlighting, faceted search? o  No, no lo hemos probado e implementado todavía, pero lo haremos en próximas versiones

•  ¿Puedo usar Alfresco sin índices o con índices desactivados? o  Las aplicaciones cliente funcionaran normalmente sin índices, pero…

•  Los filtros, la búsqueda avanzada, búsqueda por etiquetas y algunos dashlets de Share no funcionarán.

o  No está soportado para Multi-Tenant, Explorer WCM o  Para garantizar soporte, no se garantiza desactivarlo, usa noidex para test.

•  ¿Con Solr sigue habiendo un máximo de resultados y timeouts en el chequeo de permisos? o  No hay restricción por número de resultados, al contrario que ocurría en Lucene o  No se utilizan timeouts para chequeo de permisos

Page 34: Alfresco y SOLR, presentación en español

¿Preguntas?

Xose Paz [email protected] Toni de la Fuente [email protected]

Page 35: Alfresco y SOLR, presentación en español

Contacta Alfresco en España Contacta con Baratz

[email protected]

http://blyx.com Twitter: @ToniBlyx

Contacto Baratz http://www.baratz.es Federico Gramage [email protected]

Page 36: Alfresco y SOLR, presentación en español

The open platform for social content management.