Comprobación de índices Lucene en Alfresco

Un aspecto fundamental para el buen  comportamiento de Alfresco es la indexación de contenidos basada en de Lucene (o Solr). Debido a diversos motivos puede ocurrir que las búsquedas no retornen los resultados esperados lo cual nos hace dudar sobre la integridad de nuestros índices, en estas situaciones podemos recurrir a los servicios que nos ofrece Alfresco para la verificación de índices con Lucene:

http://<host>/alfresco/service/enterprise/admin/indexcheck.

Como alternativa a la URL anterior hemos desarrollado una pequeña herramienta de consola para la verificación de los índices, consiste en contrastar los nodos de la base de datos con los índices, el funcionamiento es el siguiente:

  • Consulta contra la base de datos sobre todos los nodos de Alfresco, por defecto de las últimas 25 horas (parametrizable)
  • Para cada nodo una consulta de Lucene (usando CMIS) para comprobar si se ha indexado

Si la herramienta detecta que un contenido no se ha indexado correctamente existe la posibilidad de repararlo forzando una modificación del mismo para que vuelva a ser indexado, esta modificación consiste en aplicar el aspecto ‘sys:temporary’ y volver a quitarlo (o viceversa si ya lo tiene), de esta forma no alteramos el documento y “forzamos” la reindexación.

La herramienta la puedes descargar aquí ‘checkLucene’ y tras configurar los datos de acceso para Alfresco y la base de datos (en ‘conf/checkLucene.properties’) ya puedes comprobar si tus documentos están indexados, y encontrar a Wally !!!

checkLucene_out

Si la herramienta detecta que un documento no se ha indexado correctamente se informa del error:

checkLucene_outerr

y con el ‘node uuid’ se puede localizar el archivo en Alfresco (en la siguiente URL) para una revisión manual o ejecutar la herramienta con la opción para la corrección automática (‘./bin/checkLucene fix’)

http://<host>/alfresco/n/showDocDetails/workspace/SpacesStore/ea3edd1a-de0f-4e1e-a67a-432824c4d402