Plein texte - wiki Maarch

Transcription

Plein texte - wiki Maarch
Plein texte
Sommaire
• 1 Résumé
• 2 Quels documents peuvent être indexés ?
• 3 Comment extraire les données d'un document type PDF-TEXT ?
• 4 Arborescence du module plein texte
• 5 Config.xml
• 6 Pré-requis du moteur lucene
• 7 Comment exécuter le script ?
♦ 7.1 Note
• 8 Maîtriser le processus full_text
• 9 Activer le plein texte dans Maarch Courrier
Résumé
La lecture plein texte est un module de Maarch qui vous permet de faire de l'indexation avec le moteur Lucene. Nous utilisons la version PHP de
Lucene mise en place avec le framework ZEND. Ce module propose un batch qui permettra d'activer la recherche plein texte. Ce script est exécuté
pour toutes les collections de Maarch et fonctionne sur Linux ET Windows. Cela va extraire les données de tous les documents compatible avec le plein
texte.
Quels documents peuvent être indexés ?
Seulement avec les documents de type PDF-TEXT ! (pdf avec reconnaissance de données).
Comment extraire les données d'un document type PDF-TEXT ?
Avec le logiciel open source pdftotext (inclus dans le framework de Maarch pour windows, vous devez l'installer pour linux).
Arborescence du module plein texte
/full_text
/log
/2009_02_18
full_text_2009_02_18 10-11-47.log
...
...
/scripts
launch_fulltext_documents.bat
launch_fulltext_documents.sh
launch_fulltext_invoices.bat
launch_fulltext_invoices.sh
/tmp
...
/xml
config_documents.xml
config_invoices.xml
class_db.php
lucene_full_text_engine.php
Config.xml
<ROOT>
<CONFIG>
<BASE_DIRECTORY>C:\xampp\htdocs\maarch_courrier\modules\full_text\</BASE_DIRECTORY>
<INDEX_FILE_DIRECTORY>C:\Maarch\indexes\coll_2\</INDEX_FILE_DIRECTORY>
<LOCATION>localhost</LOCATION>
<DATABASE_PORT>3306</DATABASE_PORT>
<DATABASE>maarch_v3</DATABASE>
<DATABASETYPE>MYSQL</DATABASETYPE>
<USER_NAME>root</USER_NAME>
<PASSWORD></PASSWORD>
<TABLE_NAME>res_invoices</TABLE_NAME>
<FULLTEXT_COLUMN_NAME>fulltext_result</FULLTEXT_COLUMN_NAME>
<MAARCH_TOOLS_PATH>C:\xampp\htdocs\maarch_courrier\apps\maarch_sample\tools\</MAARCH_TOOLS_PATH>
<MAX_BATCH_SIZE>10</MAX_BATCH_SIZE>
</CONFIG>
</ROOT>
Pré-requis du moteur lucene
Vous devez créer un dossier d'indexation par collection (et donc un fichier de config par collection):
• coll_1 : C:\Maarch\indexes\coll_1\
• coll_2 : C:\Maarch\indexes\coll_2\
(L'identifiant ID d'un document dans Lucene correspond au res_id d'une collection).
Comment exécuter le script ?
Dans le dossier script du module full_text vous trouverez tous les fichiers nécessaires au lancement du module.
Vous devez modifier ces fichiers pour lancer correctement le plein texte.
launch_fulltext_documents.bat contient :
"C:\xampp\php\php.exe" C:\xampp\htdocs\maarch_courrier\modules\full_text\lucene_full_text_engine.php
C:\xampp\htdocs\maarch_courrier\modules\full_text\xml\config_documents.xml
(à vous de modifier avec les chemins corrects).
Note
Pour une automatisation de la tâche, ce script peut être lancé dans le planificateur de tâche Windows ou dans la table cron de Linux.
Maîtriser le processus full_text
Le résultat de l'indexation des pdf peut être vérifié dans la base de données grâce à la table res_letterbox à la colonne fulltext_result :
• 1: extraction réussi
• -1: fichier introuvable
• -2: extension de fichier non compatible
• 2: aucun résultat pour cette extraction
Activer le plein texte dans Maarch Courrier
Rendez-vous dans le fichier de configuration de Maarch (apps/maarch_entreprise/xml/config.xml).
Ajoutez le tag <path_to_lucene_index> dans la collection voulue:
<COLLECTION><== list of the collection used in Maarch ==>
<id>coll_1</id><== id of the collection ==>
<label>_DOCUMENTS</label><== label of the collection : var defined in apps/maarch_entreprise/fr.php ==>
< table>res_x</table><== table of the collection ==>
<view>res_view</view><== view of the collection ==>
<index_file>index.xml</index_file><== file of the custom index ==>
<script_add>index_documents.php</script_add><== script to add a document to the collection ==>
<script_search>search_with_folder.php</script_search><== script to search the collection ==>
<script_search_result>list_results_documents.php</script_search_result><== script to show the list of search results ==>
<script_details>details_documents.php</script_details><== script to show the details page ==>
<path_to_lucene_index>C:\Maarch\indexes\coll_1\</path_to_lucene_index>
</COLLECTION>