Mardi 02 06 2020 - lmichel/vo-grimoire GitHub Wiki

Mardi 02/06/2020

Activités Réalisées :

  • Modification stucture du projet client
  • Possibilité de faire l'indexation des messages sur un seul et même index
  • Correction d'un problème d'encodage
  • Modification stockage des pièces jointes

Approfondissement Activités

Modification structure du projet client

J'ai ajouté les fichiers du site dans le dossier www, pour que tout se situe au même endroit.

Indexation globale

Avec la modification d'un champ du fichier config.json, le programme peut indexer tout les mails dans un seul et même index et donc ainsi permettre la recherche multi-mailing-lists.

Pour cela j'ajoute pour chaque mailing list les mails du fichier mbox, tout en reconstituant les threads à chaque mailing list.

Correction d'un problème d'encodage

J'ai corrigé un problème concernant l'encodage du contenu d'un mail, qui restait en base64 ou équivalent même après indexation, ce problème est corrigé en décodant directement dans la méthode récupérant la valeur.

Test de l'indexage

J'ai dû tester à chaquer nouvelle modification l'indexage des mailing lists, cela me prenait beaucoup de temps car beaucoup de mails et mon ordinateur n'est pas des plus performants.

Modification stockage des pièces jointes

Le stockage des pièces jointes dans un dictionnaire étaient considérés comme un champ par elastic search, le problème étant qu'une limite du nombre de champ étant délimité, j'ai décidé de plutôt stocker la représentation json de ce dictionnaire, et donc ainsi ne pas dépasser la limite.

La limite peut être augmenté dans la config de Elastic Search mais n'est pas recommandée par leurs développeurs, car ralentissant la recherche et provoquant "mappings explosions" comme expliqués dans leur documentation.