Y a t-il possibilité de réalisé une optimisation...

cancel
Showing results for 
Search instead for 
Did you mean: 
florent_j
Member II

Y a t-il possibilité de réalisé une optimisation...

Bonjour,

Y a t-il possibilité de réalisé une optimisation des indexes a postériori. Je m'explique:
- pouvoir réalisé une indexation de l'emsemble des documents présents dans alfresco (les réindexé) en fonction des indexes déja réalisés. (ainsi si un mot n'était pas considéré comme assez important pour etre indexé au début dans les premiers documents, puisse être réindexé par la suite)… une optimisation…

Autrement existe t-il d'autres types d'optimisation sur les index pouvant être réalisé dans Alfresco.

Cordialement,
15 Replies
michaelh
Active Member

Re: Y a t-il possibilité de réalisé une optimisation...

Bonjour,

Il n'y a pas de notion d'optimisation : un document est indexé, ou pas.
Le fonctionnement est détaillé ici :
http://wiki.alfresco.com/wiki/Index_Version_1
http://wiki.alfresco.com/wiki/Index_Version_2
Et les limites là :
http://wiki.alfresco.com/wiki/Lucene_Extensions_and_Issues

Le site de référence restant celui de Lucene : http://lucene.apache.org/java/docs/
sam
Member II

Re: Y a t-il possibilité de réalisé une optimisation...

Je n'ai pas compris l'optimisation de Florent, mais j'ai pu localiser la version de Lucene pour le Français. Cela permet entre autre d'élargir le champs de la recherche (ex : continu, continua, continueront, continuez, continuité etc… sont considérés commes équivalents) et de ne pas indexer les mots "vide" de sens (ex : les articles, Mes, comme etc…)

Si cela interresse des gens, je peux faire une procédure et fournir le jar.
michaelh
Active Member

Re: Y a t-il possibilité de réalisé une optimisation...

Bonjour,

Toute procédure, documentation, ou amélioration est bienvenue !
On peut peut être envisager d'ajouter la contribution au projet "pack français" dans une certaine mesure, ou en tout cas de la placer sur la forge Alfresco.
florent_j
Member II

Re: Y a t-il possibilité de réalisé une optimisation...

Bonjour,

Personnellement cette idée de version de lucene pour le français m'inréresse beaucoup, si cela peut améliorer l'indexation. Peut tu nous donner le lien vers la procedure et le .jar, quand cela cera réalisé.

NB: Cette version de lucene incorpore l'anglais et le francais, ou est spécialisé uniquement pour le francais?
sam
Member II

Re: Y a t-il possibilité de réalisé une optimisation...

En fait, j'ai juste intégré le pack FR de Lucene 2.0 (et les autres langues) dans un jar à intégrer à Alfresco, et il y a un fichier .XML d'alfresco à modifier pour utiliser la version francisé de Lucene.
Le problème et que pour l'instant Lucene et Alfresco ne savent pas détecter la langue du document à indexer, donc on est soit en FR soit en Anglais.
je pars en vacances à la fin de la semaine, et j'ai pas mal de choses à boucler avant, mais je vais essayer de caser ca aujourd'hui vite fait, de toute facon, ce n'est pas très compliqué…
sam
Member II

Re: Y a t-il possibilité de réalisé une optimisation...

Je ne vais pas avoir le temps de faire ca bien (source forge, wiki etc…) cette semaine, mais je pourrais le faire à mon retour de vacances sinon.
En attendant, je peux envoyer à quelqu'un une archive contenant le jar, un fichier txt de procédure et un fichier doc de synthèse du résultat de mes tests unitaires pour la localisation de Lucene dans Alfresco.
florent_j
Member II

Re: Y a t-il possibilité de réalisé une optimisation...

Salut sam,

D'abord je souhaiterais te remercier pour ta contribution.

Ensuite je souhaiterais savoir :

- si il est possible d'utiliser une indexation de lucène à la fois en francais et en anglais (j'ai besoin d'indexer des documents francais & anglais… le chinois ca sera pour plus tard… lol)

- connais tu l'apport bénéfique qu'a la version francaise par rapport à la version anglaise, sachant que la version anglaise indexais relativement bien les documents francais.

Merci encore
dschmalz
Member II

Re: Y a t-il possibilité de réalisé une optimisation...

- si il est possible d'utiliser une indexation de lucène à la fois en francais et en anglais (j'ai besoin d'indexer des documents francais & anglais… le chinois ca sera pour plus tard… lol)

- connais tu l'apport bénéfique qu'a la version francaise par rapport à la version anglaise, sachant que la version anglaise indexais relativement bien les documents francais.
A l'heure actuelle, Alfresco indexe les documents selon le "Locale" enregistré sur le depôt de document. Par défaut il s'agit de en_US et donc les analyseurs Lucene spécifiques à l'anglais sont utilisés. Ceci implique une indexation sous-optimale pour les langues autres que l'anglais, puisque, par exemple, les mots fréquents ("stop words", tels que "les", "un", etc.) sont indexés alors qu'avec l'analyseur français, ces mots seraient ignorés.

Pour supporter une autre langue, il faudrait modifier l'indexeur et l'analyseur pour qu'ils prennent en compte la langue configurée (de manière globale) dans Alfresco. Je ne suis pas sûr que ce soit accessible pour l'instant au point de vue de la configuration.

Ensuite, il est souvent nécessaire de mélanger des documents dans des langues différentes et ceci rend le problème plus complexe. Il faudrait modifier l'indexeur et l'analyseur pour:

1) détecter la langue du document courant. Il existe plusieurs composants Open Source qui effectuent cette détection.
2) passer l'analyse et l'indexation aux implémentations spécifiques à la langue détectée.

Il faudrait également savoir dans quelle langue (i.e. quel index) effectuer les recherches. Ceci pourrait se faire en ajoutant un "Aspect" "Internationalizable" appliqué automatiquement à tout document lors de son importation puis utilisé pour filtrer les recherches dans une langue spécifique.

David
sam
Member II

Re: Y a t-il possibilité de réalisé une optimisation...

Voici le lien pour telecharger l'archive :
http://www.box.net/public/t96pamda79
(Edit : le fichier jar était mal formé, je viens d'uploader une nouvelle archive)

Comme je l'ai dit précédemment, je n'ai pas fait grand chose… j'ai juste récupéré dans lucene-contrib les différentes localisations de Lucene, et j'ai recompilé le tout dans un jar.

L'archive contient :

la procédure

le .jar qui inclut les Analyzer des différentes langues dont le français bien sûre.

Un fichier .doc contenant le résultat des tests unitaires effectués (via l'API webservices). Cela donne une idée de l'apport de la localisation de Lucene.
Attention, pour que la lemmisation (obtention de la racine des mots) fonctionne dans le client Web, il faut mettre les mots clefs entre guillemet (") . Normalement, l'équipe d'Alfresco va améliorer la recherche, en ajoutant automatiquement les " et en enlevant les caractères joker '*' ajouté à la fin de chaque requête.

Le fichier dataTypeAnalyzers_fr_FR.properties qui indique à Alfresco quel Analyzer utiliser.

Je pensais qu'Alfresco choisissait l'Analyser en fonction de la langue du client, mais selon les dires de David cela serait plutôt en fonction du
"Locale" enregistré sur le depôt de document.
. Je n'ai pas eu le temps de tester…

C'est vrai que cela serait vraiment génial de détecter la langue du document et de choisir l'analyser approprié lors de l'indexation ! Par contre cela doit être plus difficile de détecter la langue de la requête… Enfin bon, je pense que cela vaut le coup de s'y pencher.

Voila, c'est tout ce que je peux faire pour l'instant (c'est bientôt les vacances ;-) mais je pense qu'on peut faire mieux :-)