Recherche plein texte PDF / indexation

Recherche plein texte PDF / indexation - PHP - Programmation

Marsh Posté le 24-11-2008 à 12:38:32    

Bonjour à vous,
 
Je suis en train de me construire une gestion documentaire en PHP, principalement des pdf et j'ai quelques interrogations sur la façon de m'y prendre...
 
Ma principale interrogation porte sur une recherche plein texte des pdf.
Je dispose d'environ 15000 à 20000 documents à parcourir.
 
Ce que j'ai comme solutions jusqu'à présent :
mes recherches m'ont portés jusqu'à des librairies comme XPDF, pdftohtml etc...
Je pense que la conversion PDF -> Texte / HTML n'est pas trop un problème, XPDF fonctionnant parfaitement.
 
La question que je me pose est la suivante, que faire parmis ces 3 solutions, le principal argument étant la vitesse d'exécution :
- Parcourir la liste de pdf en convertissant à chaque fois les pdf en texte puis analyser le texte pour trouver une occurence ?
- créer une tache cron qui me crée les fichiers texte pendant la nuit puis lors d'une recherche effectuer la recherche plein texte sur les fichiers textes ?
- créer une tache cron qui me renseigne une bdd mysql avec le texte entier du pdf, puis interroger cette base ?
 
Actuellement je ne dispose pas des documents ni de la machine de prod finale donc je me pose la question surtout en terme de ressource et de temps d'execution, j'aurais aimé faire des tests mais ils viendront en même temps que les docs et la machine de prod.
 
Merci de me dire ce que vous pensez de mes solutions ou si je suis à coté de la plaque !
 
++


Message édité par Toscano le 24-11-2008 à 13:43:20
Reply

Marsh Posté le 24-11-2008 à 12:38:32   

Reply

Marsh Posté le 24-11-2008 à 15:31:14    

20 000 ouvertures et fermeture de fichiers = 2.7 à 3.5 secondes en php sous windows avec un disque dur qui n'est pas particulièrement lent.
A cela tu rajoutes le temps d'en lire le contenu et tu te retrouves entre 6 et 10 secondes pour des fichiers de 5ko et à plus de 2m30 si les fichiers font en moyenne 450 ko. (test réalisé sur mon ordi)
 
Et là, je ne comptes pas le temps nécessaire pour transformer des fichiers pdf en texte brut.
 
 
En résumé, dans ce que tu proposes, la seule solution utilisable avec un site web, c'est d'utiliser une base de donnée dans lequel on stocke le texte.
Une autre solution serait d'utiliser un moteur de recherche (a installé sur le serveur) conçu exprès pour ça mais ça nécessite de pouvoir installer un programme tiers sur le serveur.

Reply

Marsh Posté le 24-11-2008 à 15:51:59    

Les fichiers seraient aux alentours des 15 Ko à ce que j'ai vu pour l'instant.
 
Alors oui j'ai oublié de dire mes contraintes en temps, pour moi je pense que 5 minutes de recherche sont trop long, mais 2m30 reste correct, je m'explique :
Dans ma base de données j'aurais des index qui permettront de retrouver rapidement les pdf, la recherche plein texte n'étant que la dernière possibilité, elle peut donc être plus lente.
 
Merci pour tes mesures, ça m'avance bien pour ma conception.
 
A noter que c'est pile ce qu'il me faut puisque le temps de transformation des pdf en txt brut ne sera pas un problème puisque réalisé de nuit.
 
Je teste la bdd dès que possible ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed