Fonctionnalité #15958
Mis à jour par Cyril VAZQUEZ il y a plus de 3 ans
En tant que service producteur, je veux indexer le contenu texte des documents archivés afin de pouvoir les rechercher sur l'intégralité des termes.
**Détail**
La fonction d'indexation fulltext a été intégrée en V1 en utilisant un moteur externe Lucene PHP.
Cette implémentation pose plusieurs problèmes : performances, scalabilité car il utilise des fichiers à plat non chargés en mémoire
La stratégie proposée est d'utiliser les capacités d'indexation de PostGreSQL et le moteur actuellement utilisé pour les métadonnées.
Il faut pouvoir mettre à jour le texte dans le référentiel à partir du texte transmis au versement, en plus des métadonnées descriptives déjà indexées, et assurer une recherche performante et fiable.
*note: l'extraction du texte des documents lorsque celui-ci n'est pas transmis, par une procédure appliquée au versement ou lors de la conservation, fait l'objet d'une autre demande*
**Back-end**
Lors du versement, le contrôleur de description reçoit l'archive à enregistrer, et réalise les opération suivantes :
- initialisation d'une propriété "text" pour l'objet description
- ajout de l'archiveName, originatorArchiveId, originatingDate et des métadonnées du profil au contenu fulltext à indexer
- enregistrement de la description
Il faut pouvoir recevoir un contenu "text" pour le texte à indexer en plus des métadonnées
Lors de la recherche... la fonction de recherche utilise déjà l'indexation fulltext sur cette propriété.
Lors de la mise à jour des métadonnées, il faut pouvoir réindexer avec les nouvelles valeurs de métadonnées, sans modifier le contenu texte issu de la ressource