Recherche¶
Pour les règles métiers, voir le document dédié.
Indexation¶
La commande cd api && make elastic-index permet de réindexer tous les dossiers et documents de l'application dans Elasticsearch (attention cela peut prendre beaucoup de temps sur les grosses bases de données.)
Technique¶
L'application fournit des lignes de commande qui seront utilisées dans la vie du projet :
bin/console search:create-indicespermet de créer les index dans elasticsearch s'ils n'existent pas encore.bin/console search:update-mappingpermet de mettre à jour le mapping des index, s'ils existent.bin/console search:index-allva reprendre tous les documents créés dans la GED et les re-indexer dans elasticsearch pour être sûr que les données sont à jour, cela peut être utile à la suite d'une panne sur elasticsearch.
L'application fournie 2 autres commandes qui ne sont à utiliser qu'en environnement de dev :
api/bin/console search:drop-indicesva supprimer les index elasticsearch et toutes les données associées, à utiliser pour repartir d'un environnement propre.api/bin/console searchpermet d'effectuer une recherche sans avoir à utiliser l'app front pour faire des tests et vérifier les résultats.
OCR¶
La reconnaissance de caractères utilise :
- imagemagick : pour transformer un document binaire en image au format JPG,
- tesseract : pour reconnaitre les caractères dans l'image JPG et les stocker dans un fichier TXT.
Utiliser la commande suivante pour transformer le contenu binaire en texte, en précisant l'uuid du document :
Un nouveau fichier texte est alors créé dans /var/data/{document-uuid}/, qui contient donc deux fichiers :
1.ext: le contenu binaire (PDF, JPG, PNG, etc.),1.txt: le contenu text après OCR du contenu binaire.
Ressources utiles :
- la documentation elastica point d'entrée intéressant pour les concepts de base, mais elle n'est pas du tout à jour avec la version 7 d'elasticsearch.
- les tests elastica pour voir les structures des tableaux que l'on peut utiliser.
- la doc officielle mais il faut souvent passer par google pour mieux trouver ce que l'on cherche.
- la documentation de tesseract.