Manuel

Migrer l'option "full text" de Kentika 2 à Kentika 3

 

La technologie full text a été profondément changée entre Kentika 2 et Kentika 3. La nouvelle solution appelée "KDE" (pour Kentika Document Engine) exploite un ensemble de technologies permettant une exploitation beaucoup plus poussée des documents. Parmi les nouvelles possibilités offertes, citons :

- extraction de texte permettant une extraction de tags (à partir du thesaurus) ;

- présentation de phrases contenant un mot trouvé dans un document suite à une recherche plein texte ;

- conversion de fichiers bureautiques en fichier PDF ;

- affichage de fichiers bureautiques et pdf en html avec les mots trouvés mis en surbrillance ;

- calcul d'imagettes à partir de la première page des fichiers pdf.

 

Description de la nouvelle architecture

 

KDE comporte différents composants :

Lucene REST Services for Kentika : une application fonctionnant en service et communiquant avec l'application Kentika pour effectuer certaines conversions et l'indexation plein texte.

ImageMagick : permet l'extraction d'une image de la première page d'un document au format pdf, est activé en mode "ligne de commande" par Kentika lors de l'archivage d'un pdf.

GhostScript : nécessaire au bon fonctionnement de ImageMagick.

 

Ces composants s'exécutent sur demande de Kentika Server mais pas dans la mémoire vive réservée par le système à Kentika Server, contrairement à la précédente architecture. Ceci présente l'avantage de ne pas pénaliser les performance du serveur Kentika lorsque des traitements d'extraction sont réalisés.

 

 

Installer KDE

 

L'installation de KDE implique de lancer les trois installeurs suivants :

 

RTSLuceneInstaller108.msi

gs906w32.exe

ImageMagick-6.8.0-2-Q16-windows-dll.exe

 

KDE intègre l'OCR tesseract. Pour que ce dernier fonctionne (ie : s'il est prévu de l'activer), il est nécessaire d'installer également :

vc_redist.x64.exe

 

L'ensemble de ces installeurs est disponible sur le site ftp de Kentika dans le répertoire "Windows\Tools3"

 

Après installation, s'assurer que le service a bien été créé et qu'il est bien à l'état "Démarré". Si ce n'est pas le cas, le démarrer manuellement.

 

L'architecture cible

 

La nouvelle version Kentika 3 est proposée en 64 bits. Ceci implique une capacité à traiter des volumes de données largement plus importants que la version 2.4 qui était en 32 bits. Cependant, cette version n'est plus compatible avec l'ancienne version de la technologie full text de Kentika (ISYS).

 

Pour exploiter Kentika 3 64 bits avec KDE et bénéficier des recherches plein texte, il est nécessaire d'avoir procédé, préalablement, à l'extraction des textes. Les temps de traitement étant significatifs (de plusieurs heures à plusieurs jours), il est nécessaire d'ajuster la période de transition en tenant compte du volume de documents à traiter et du temps acceptable d'indisponibilité de la recherche .

 

Procéder à l'extraction des textes

 

La nouvelle architecture permet de découpler les opérations de génération de l'index (permettant d'effectuer des recherches) et d'extraction des textes (permettant de générer l'index). De plus, l'organisation des éléments sur le disque est telle que l'on peut procéder à l'extraction des textes sur une configuration indépendante et de transférer le résultat lors du basculement définitif vers la nouvelle technologie.

 

Architecture des éléments

 

Les opérations liées à Kentika Document Engine impliquent la génération de différents fichiers dans différents répertoires/sous-répertoires.

 

 

1 - Extraction des textes

 

Les documents bureautique ou pdf comportant des textes font l'objet d'une première étape d'extraction. Le résultat obtenu est stocké sous la forme d'un fichier .txt par fichier source contenant du texte extractible. L'organisation de ce répertoire est identique à celui comportant les fichiers source ("KP_DEMO" dans l'exemple ci-dessus).

Ces textes sont ensuite convertis dans un format permettant d'éviter les problèmes de recherche avec/sans accent (en effet, de base la technologie lucene considère que les voyelles et voyelles accentuées sont des caractères différents).

 

L'extraction des texte peut prendre de l'ordre de 3heures par tranche de 1 Go d'archives composées principalement de document bureautique ou pdf. Ceci est cependant variable en fonction de la puissance de la machine sur laquelle l'extraction est effectuée.

 

Dans le cas d'un volume d'archives important, il peut être utile de faire extraire les textes sur une autre machine puis de copier le résultat obtenu (ici : les répertoires KP_DEMO_T et KP_DEMO_Tx) dans le répertoire ALGEDIM du serveur en exploitation. En effet, lors de l'extraction globale, seuls les fichiers manquants sont recalculés.

 

2 - Génération de l'index

 

Lorsque tous les textes ont été extraits, la dernière étape consiste à générer l'index. Cette génération doit s'effectuer sur la base en exploitation afin d'être certain d'avoir bien pris en compte les derniers fichiers archivés.

 

Extraction des imagettes

 

Si les deux opérations ci-dessus nécessitent Kentika 3 / KDE, le calcul des imagettes correspondant à la première page de chaque document pdf peut être effectué sans que KDE soit installé. Pour les documents bureautiques (traitement de texte, tableurs ...) : si une imagette doit être calculée, la conversion en PDF doit être réalisée et ceci requiert KDE.

Les imagettes sont placées dans les répertoires dont le nom commence par "P" dans le répertoire principal (KP_DEMO dans l'exemple ci-dessus).

 

Les scenarii de migration

 

Trois possibilités sont offertes, le scenario a privilégier dépend du volume de documents à traiter et de la disponibilité requise du serveur le temps que l'extraction soit réalisée.

 

Quel que soit la solution retenue, il est recommandé de s'assurer que la machine dispose d'un minimum de 8 Go de mémoire vive. Les extractions peuvent être parallélisés, donc plus une machine dispose de cœurs, plus le traitement sera rapide.

 

Un fichier peut être stocké sous plusieurs formes :

- document d'origine ;

- fichier pdf (cas des douments bureautiques) ;

- imagette ;

- image basse résolution (fichier image)

- texte extrait ;

- texte retraité ;

- index lucene.

 

On s'assurera au préalble que le disque disque dur dispose d'une place suffisante pour stocker ces éléments.

 

Procéder aux extractions sur une machine indépendante

 

Sur une machine autre que Kentika serveur :

- procéder à une installation complète de Kentika monoposte et de KDE ;

- copier le fichier de données ;

- copier le répertoire ALGEDIM ;

- lancer l'application Kentika monoposte (*) ;

- dans "Préférences/Paramétrage/Doc.engine" : s'assurer que KDE soit correctement installé (si oui : les informations désignées par la flèche bleue apparaissent) ;

- traitement : sélectionner "Extraire les textes manquants" puis cliquer sur "Effectuer les traitements".

 

Le traitement débute. Lorsque la fenêtre de progression disparaît, les répertoires KP_DEMO_T (le nom réel du répertoire correspond à la signature de la base suivi de _T) et KP_DEMO_Tx doivent être générés. Pour vérifier la bonne exécution de l'extraction, il suffit d'en contrôler le contenu sur le disque.

 

(*) Attention : il se peut que des scripts / batch soient progrmmés sur la base. Lors de l'ouverture en monoposte, il vont s'exécuter. Aussi, dès l'ouverture, il est conseillé de désactiver tous les scripts/batch (en décochant l'option correspondant) et de bloquer les envois de mails (en mettant une heure d'envoi à 24:00).

 

Procéder à la mise en exploitation

 

Transférer les deux répertoires (signature)_T et (signature)_Tx dans le répertoire ALGEDIM.

Après installation, sur le serveur d'exploitation de Kentika 3 et de KDE, ouvrir le fichier de données (prendre la précaution d'en faire une copie de sauvegarde préalable) avec Kentika Server 3. Depuis un poste client, demander à nouveau "Préférences/Paramétrage/Doc.engine" et procédez à l'extraction des textes manquants (si des documents ont été archivés depuis la copie). Cette étape terminée, sélectionner "Régénérer l'index" et cliquer sur "Effectuer les traitements".

 

Pour savoir si l'index se génère, vérifier que le répertoire situé dans "luceneindex" ne soit pas vide.

 

Lorsque le client provoque la génération de l'index, il demande en fait à Kentika Server de procéder aux opérations, Kentika Server demande lui-même au service "KDE" (LuceneRestService) d'effectuer les traitements. Il ne peut donc y avoir de suivi en temps réel de la bonne exécution des opérations.

 

Contrôle final

 

Pour s'assurer que l'indexation s'est bien déroulée : sélectionner "Recalculer les statuts de tous les fichiers". Lorsque la fenêtre de progression se ferme, cliquer sur "Calculer". Le tableau de synthèse des archives fournit alors toutes les indications sur l'état des archives. Si la colonne "Attente" ne comporte que des 0 c'est que l'index a été correctement généré et contrôlé.

 

Dès lors, la base est prête à être exploitée avec les nouvelles fonctions de KDE.

 

Procéder aux extractions sur la même machine

 

Pour réaliser l'extraction sur la machine serveur, il est nécessaire d'installer Kentika 3 Server version 32 bits (la seule qui soit compatible avec les deux technologies) et KDE. Procéder à la mise en route, comme pour une migration classique.

 

Le principe est alors le suivant : exploiter l'ancienne technologie jusqu'à ce que les extractions soient terminées puis basculer vers la nouvelle technologie.

 

Lors du lancement de cette version, la technologie utilisée par défaut est l'ancienne. Les nouveaux fichiers sont pris en compte dans l'ancien index, les recherches utilisent l'ancien index.

 

Dans "Préférences/Paramétrage" : les deux options de réglage sont proposées.

 

 

Dans Doc. engine, s'assurer que KDE soit bien lancé et sélectionner "Extraire les textes manquants" puis cliquer sur "Effectuer les traitements".

 

Cette opération peut prendre du temps et va consommer des ressources du serveur. Il est conseillé de la lancer le soir, voire pendant le week-end, afin de ne pas pénaliser l'exploitation. De plus, s'assurer que la machine dispose d'au moins 8Go de mémoire vive.

 

Une fois ce traitement lancé, il n'est pas nécessaire d'attendre que la fenêtre de progression soit fermée pour quitter le poste client car c'est le serveur qui exécute l'ensemble des tâches.

 

Les chiffres en regard des deux options illustrées ci-dessous indiquent les nombre de fichiers qui n'ont pas encore fait l'objet d'une tentative d'extraction ou qui sont en erreur.

 

Un fichier peut être en erreur soit parce que l'extracteur n'a pu extraire les données (cas de formats non supportés) ou bien qu'aucun texte n'a été trouvé (exemple : un fichier pdf issu de numérisation mais non océrisé).

 

Basculer de l'ancienne à la nouvelle technologie

 

Si des fichiers ont été archivés entre la demande de traitement initiale et la fin du traitement, demander à nouveau l'extraction des textes manquants. Lorsque tous les textes ont été traités, la bascule peut être effectuée.

 

Sélectionner "Régénérer l'index" et cliquer sur "Effectuer les traitements". L'ordre est alors transmis au serveur. Pour s'assurer de la bonne prise en compte des fichiers dans l'index : sélectionner "Recalculer les statuts des fichiers en attente" et cliquer sur "Effectuer les traitements". Kentika server met alors à jour le statut des archives en s'assurant, une par une, qu'elle est bien présente dans l'index. Lorsque la colonne "Attente" ne comporte plus que des 0 : l'index est prêt à être utilisé en recherche.

 

Indiquer alors au serveur que KDE doit maintenant être utilisé en cliquant sur le bouton "Switch".

 

 

Pour bénéficier des avantages de la version 64 bits, il est nécessaire de procéder à l'installation de la version 64bits de Kentika server.

 

NB : un fichier de données peut être ouvert indifféremment avec une version 32 bits ou 64 bits. Il n'y a donc pas de risque de perturbation dès lors que les deux versions de Kentika server 32 et 64 sont identiques (exemple : 3.0.1).

 

Calculer les imagettes des fichiers pdf / dictionnaire

 

Quel que soit le scenario adopté, cette extraction peut être effectuée dès lors que la base Kentika 3 est en production. Pour cela, il est nécessaire de sélectionner l'option indiquée ci-dessous.

 

 

Il est conseillé de choisir une dimension cohérente avec l'affichage dans la nouvelle GED de Kentika 3, à savoir :

 

Le réglage étant effectué, il est ensuite nécessaire de lancer le calcul des imagettes via le dialogue "Maintenance" :

 

 

Cette opération est à effectuer que l'on dispose où non de KDE si l'on veut disposer d'imagettes pour les documents PDF (avec ou sans KDE) et les documents bureautiques (avec KDE uniquement).

 

Choix de l'autocomplétion

 

Kentika 3 propose, en option, l'autocompletion, aussi, sur les mots trouvés dans les textes extraits.

 

Pour que le dictionnaire soit alimenté à partir de ces textes, il est nécessaire de sélectionner l'option suivante :

 

 

Puis dans le dialogue de maintenance (cf : illustration ci-dessus) : cliquer sur "Calculer les attributs manquants".

 

Que faire en cas d'interruption

 

Kentika et KDE ont prévus les différentes situations d'interruption. Il est donc possible de reprendre le traitement là où il se serait arrêté. Ceci peut se produire notamment si la machine manque de ressources (mémoire vive ; espace disque ...).

 

Les mécanismes rendant ceci possible sont :

 

Si un texte a déjà été extrait, il n'est pas demandé de le refaire.

Si le service d'extraction est interrompu : la file d'attente est réactivée (il n'est pas besoin de demander à nouveau l'extraction d'un fichier).

La génération de l'index peut être réexécutée à tout moment.