Alfresco y SOLR, presentación en español

Post on 29-Nov-2014

4.601 views 9 download

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

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.

Alfresco y SOLR Toni de la Fuente Senior Solutions Engineer twitter: @ToniBlyx blog: blyx.com Federico Gramage y Xose Manuel Paz Federico.gramage@barat.es Baratz

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

Nueva versión de Alfresco

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

Lucene vs. SOLR

I

I

I

DB

FS

I

I

DB

FS

SOLR

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

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

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

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 ??

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)

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

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

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

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

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

Despliege de Alfresco con Solr

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

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

ACTUALIZACIÓN ALFRESCO

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

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.

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>

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

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

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 .

Consola administración de Solr

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

Consola administración de Solr

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

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:

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"/>

Demo

•  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

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

¿Preguntas?

Xose Paz xose_manuel.paz@baratz.es Toni de la Fuente toni.delafuente@alfresco.com

Contacta Alfresco en España Contacta con Baratz

toni.delafuente@alfresco.com

http://blyx.com Twitter: @ToniBlyx

Contacto Baratz http://www.baratz.es Federico Gramage federico.gramage@baratz.es

The open platform for social content management.