Indexation pdf et autres??

Au départ c'était une question, mais puisque j'ai réussi à me dépatouiller
j'envoie quand même le message: Quelqu'un sera peut-être intéressé par
la solution ...

Bonjour,
  J'essaie de faire fonctionner l'indexation des pdf ... sans sucès.
Voici ce que j'obtiens dans le log après avoir créé
un article en y joignant un pdf (XXX.pdf):

May 07 10:12:05 127.0.0.1 (pid 6361) ajout du document XXX.pdf, document
(article 11 )
May 07 10:12:06 127.0.0.1 (pid 6361) demande indexation document 10
May 07 10:12:06 127.0.0.1 (pid 6361) redirige
   ecrire/articles.php3?id_article=11&show_docs=10#documents
May 07 10:12:50 127.0.0.1 (pid 6360) demande indexation document 10
May 07 10:12:54 127.0.0.1 (pid 6359) indexation document 10
May 07 10:12:55 127.0.0.1 (pid 6359) cron: index (0.49s)
May 07 10:13:11 127.0.0.1 (pid 6362) demande indexation article 11
May 07 10:13:13 127.0.0.1 (pid 6362) mail (michel.pottier...):
   [Soprano] PUBLIE : Voici un pdf, from <michel.pottie...>

Il se trouve que la recherche ne me permet pas de retrouver
le document.

Je suis alors allé jeter un coup d'oeuil dans
les tables mysql j'y trouve des infos du type:
select * from spip_index_documents where id_document=10;
+----------------------+--------+-------------+
| hash | points | id_document |
+----------------------+--------+-------------+
| 14392593763983616836 | 10 | 10 |
| 13121920672640022101 | 10 | 10 |
| 14151377962640465093 | 1 | 10 |
| 11426299191147925695 | 2 | 10 |
| 8711985890937787662 | 1 | 10 |
....
| 1951846506361624424 | 1 | 10 |
+----------------------+--------+-------------+
23 rows in set (0.00 sec)

Je ne connais rien du modèle de donnée, mais si j'essaie
de faire une mise en relation entre spip_index_dico et
spip_index_documents j'obtiens:

mysql> select dico from spip_index_dico,spip_index_documents where
    -> spip_index_dico.hash=spip_index_documents.hash
    -> and spip_index_documents.id_document=10;
+--------------+
| dico |
+--------------+
| format |
| this |
| message |
| contains |
| data |
| unrecognized |
| application |
| which |
| being |
| decoded |
| written |
| file |
...
| cma74x |
+--------------+
23 rows in set (0.01 sec)

Malheureusement le pdf est un texte en français, et les mots ci-dessus
référencés n'y figurent pas:
  [michel@zagreb Nicolas]$ pdftotext XXX.pdf
  [michel@zagreb Nicolas]$ grep format XXX.txt
  [michel@zagreb Nicolas]$
Mais ils peuvent ressembler à un message d'erreur.

J'ai donc édité le fichier extract_pdf.php
et j'ai lancé la commande
metamail -d -q -b -c application/pdf XXX.pdf en tant que root
j'obtiens:
  "You can not run MetaMail as root unless you use -r or set MM_RUNASROOT."

alors avec l'option adéquate je retrouve une partie des mots indexés:
  "This message contains data in an unrecognized format,
  application/pdf,which is being decoded and written
  to the file named "/tmp/mm.vMmztP".If you do not want this data,
  you probably should delete that file."

J'ai donc chercher le fichier mailcap et ajouté la ligne magique:
application/pdf; xpdf %s
et là, magique, après insertion d'un nouveau pdf:
mysql> select dico from spip_index_dico,spip_index_documents where
    -> spip_index_dico.hash=spip_index_documents.hash
    -> and spip_index_documents.id_document=11;
+-----------------+
| dico |
+-----------------+
| site |
| faut |
| bien |
| phase |
| base |
| configuration |
| linux |
| 2006 |
....
| blocs |
| armoires |
+-----------------+
349 rows in set (0.03 sec)

Mais la recherche ne donne toujours rien!!!
Pour que cela marche il suffit de rajouter une boucle sur les
documents/articles dans le fichier recherche.html
Bonne journée

Michel a écrit :

Au départ c’était une question, mais puisque j’ai réussi à me dépatouiller
j’envoie quand même le message: Quelqu’un sera peut-être intéressé par
la solution …

Mais la recherche ne donne toujours rien!!!
Pour que cela marche il suffit de rajouter une boucle sur les
documents/articles dans le fichier recherche.html

Bonjour Michel,

Je suis très intéressé et ton article m’a permis de vérifier que les tables sont bien renseignées.

Il ne me manque que le bout de code que tu as rajouté : peux-tu stpl donner plus d’indications, par ex. le contenu de ton fichier recherche.html (je suis trop novice pour l’instant) ?

Merci d’avance,

Bonjour,
Marc Schulthess <Marc.Schulthess <at> smci.ch> writes:

Michel a écrit :>Au départ c'était une question,
mais puisque j'ai réussi à me dépatouiller
>j'envoie quand même le message: Quelqu'un sera peut-être intéressé
par
>la solution ...
>Mais la recherche ne donne toujours rien!!!
>Pour que cela marche il suffit de rajouter une boucle sur les
>documents/articles dans le fichier recherche.html
Bonjour Michel,
Je suis très intéressé et ton article m'a permis de vérifier que les
tables sont bien renseignées.
Il ne me manque que le bout de code que tu as rajouté : peux-tu stpl
donner plus d'indications, par ex. le contenu de ton fichier
recherche.html

J'utilise le squeltte sarka-spip. Sur son répertoire j'ai donc modifié
le contenu de recherche.html en m'inspirant du reste du fichier
(car moi aussi je débute totalement). Tu auras certainement des choses à
modifier/rajouter en fonction du contenu de ta feuille de style
Voici ce que j'ai rajouté :

<!-- Documents trouves -->
<B_documents-recherche>

<div class="elements-trouves">Documents trouv&eacute;s</div>

<div class="indentation">
  <div class="derniers-articles">
          <BOUCLE_documents-recherche(DOCUMENTS)
{mode=document}{doublons}{recherche} {par points} {inverse} {0,10}>
               <div class="annonce">
                   [<div class=image>(#LOGO_ARTICLE||reduire_image{150})</div>]
                   <div class="chemin">
                          
<BOUCLE_rubrique-docmere-recherche(DOCUMENTS){id_document}>
                               <BOUCLE_article(ARTICLES){id_document}>
                                 <div class="detail">
                                       [(#DATE|nom_jour)] [(#DATE|affdate)]<br>
                                 <B_auteurs-documents-recherche>
                                    <:par_auteur:>
                                    <BOUCLE_auteurs-documents-recherche(AUTEURS)
                                          {id_article} {", "}>
                                          <a href="#URL_AUTEUR">#NOM</a>
                                    </BOUCLE_auteurs-documents-recherche>
                                 </B_auteurs-documents-recherche>
                                 </div>
                                 <A HREF="#URL_DOCUMENT">
                                   [(#LOGO_DOCUMENT||reduire_image{150})]</A>
                                   <br><?php $nom='#URL_DOCUMENT';
                                 echo basename($nom);
                                 ?>
                                 [<div class="surtitre">(#SURTITRE)</div>]
                                 <div class="introduction">
                                      #INTRODUCTION
                                      <br><br>
                                      <a href="#URL_ARTICLE"
                                              >lire la suite de l'article</a>
                                 </div>
                               </BOUCLE_article>
                           </BOUCLE_rubrique-docmere-recherche>
                   </div>
                   [<div class="surtitre">(#SURTITRE)</div>]
               </div>
           </BOUCLE_documents-recherche>
  </div>
</div>
</B_documents-recherche>

Merci d'avance,

Pas de quoi, si j'ai finalement envoyé ce message, c'est parceque
je me doutais qu'un jour ou l'autre il serait utile à quelqu'un...
Bonne journée