lundi 12 décembre 2011

Conseils pour la découverte de Solr avec Alfresco

Pour ceux qui s'apprêteraient à essayer l'intégration Solr dans Alfresco (en préparation de la sortie de la version 4.0), voici quelques conseils et ressources :

Lire tout d'abord :



Une fois les concepts de base appréhendés, il peut être intéressant par exemple de dumper le traffic HTTP entre un repository et Solr, pour avoir quelques exemples de requête effectuées et mieux comprendre l'interaction entre les deux.

Exemple de requête sur le mot "test" effectué depuis Share :


 (test) AND -TYPE:"cm:thumbnail" AND -TYPE:"cm:failedThumbnail" 
        AND - TYPE:"cm:rating"

Pour analyser les résultats, cette requête peut également être exécutée sur l'interface d'admin Solr.

Cette interface d'admin permet de mieux comprendre le fonctionnement interne de Solr, et est fournie avec le war solr et accessible à l'addresse suivante :  http://localhost:8080/solr/

Des  pages d'admin sont disponibles par "core" Solr, par défaut une pour "alfresco" correspondant à workspace/SpacesStore et une pour archive/SpacesStore. La documentation de cette interface est disponible ici : http://wiki.apache.org/solr/SolrAdminGUI

Des options de recherche avancée permettent de sélectionner des options supplémentaires telles que les champs à retourner, le nombre de résultats, le type de sortie (xml, json, ...)... Des options permettent également de demander la sortie "debug", c'est à dire la sortie incluant l'explain sur la requête, et les temps d'exécution des differentes étapes : parsing, filtrage, etc ..

Un point qui n'est pas sélectionnable dans l'interface d'admin actuellement est le query parser. Il en existe 4 par défaut : "alfresco" (AlfrescoLuceneQParserPlugin), "afts" (AlfrescoFTSQParserPlugin) et "cmis" (CmisQParserPlugin), ainsi que "select" (le parseur Solr/Lucene par défaut).

Voir http://www.slideshare.net/alfresco/moving-from-lucene-to-alfresco-fts pour plus d'informations sur le parseur FTS.

Pour chaque node à indexer côté repository, 2 nodes sont indexées dans Solr/Lucene :

- le node "LEAF", contenant le type, les aspects, et les identifiants du node. C'est celui qui est retourné lorsque l'on utilise les parseurs alfresco ou afts

- le node "AUX" (auxiliaire) contenant les informations "auxiliares" du node, à savoir ses parents, son path, le owner, les éventuelles ACL indexées, ainsi que les identifiants également.

Il y a donc dans ce cas deux documents au sens Lucene correspondant à un node indexé par Alfresco.
Ressources supplémentaires :

http://www.slideshare.net/teofili/apache-solr-crash-course http://lucidworks.lucidimagination.com/display/solr/Apache+Solr+Reference+Guide
http://wiki.apache.org/solr/SolrAdminGUI

Aucun commentaire:

Enregistrer un commentaire