creative commons
Perles de Mongueurs : Un moteur de recherche pour votre documentation Perl
icone news
Signature :
GNU/Linux Magazine
Sommaire de l'article :

Retrouvez cet article dans : Linux Magazine 78

Introduction

Peut-être vous êtes vous déjà retrouvé dans la situation de devoir rechercher des informations sur un sujet particulier. Vous êtes donc allé sur votre moteur de recherche préféré et avez saisi votre requête. Et en consultant les résultats de recherche, vous vous êtes rendu compte que la majorité des modules répondant à votre question étaient déjà installés sur votre machine. Il aurait donc été utile de pouvoir en premier lieu interroger un moteur de recherche local pour votre documentation Perl. Et bien, ce moteur de recherche existe déjà, et il est l’œuvre d’Ulrich Pfeifer et se nomme tout naturellement perlindex. Ce dernier est bien entendu disponible sur le CPAN, à l’adresse suivante http://search.cpan.org/dist/perlindex/

Installation

Après avoir installé ce script (avec l’incantation classique perl Makefile.PL, make test, make install), il est nécessaire de construire l’index. Pour cela, il suffit de taper, en tant que root la commande suivante perlindex -index. Cette commande va parcourir les répertoires où se trouve la documentation et en indexer les fichiers .pm et .pod.

Utilisation

L’utilisation classique de ce programme est donc l’interrogation, qui s’effectue en passant les mots-clés en argument au programme. Ainsi, si je souhaite trouver un moyen d’obtenir le texte d’un fichier HTML, je peux interroger le système de la manière suivante perlindex strip tag html. Cela nous donne l’écran suivant :
  $ perlindex strip tag html
  1  5.454 share/perl5/HTML/TokeParser/Simple.pm
  2  4.051 share/perl5/HTML/LinkExtractor.pm
  3  4.034 share/perl5/HTML/TokeParser/Simple/Token/Tag/Start.pm
  4  4.034 share/perl5/HTML/TokeParser/Simple/Token/Tag/End.pm
  5  4.017 share/perl5/HTML/Tree/Scanning.pod
  6  3.867 share/perl5/HTML/TokeParser/Simple/Token/Tag.pm
  7  3.562 share/perl5/HTML/TreeBuilder.pm
  8  3.316 bin/dh_strip
  9  3.282 share/perl5/MARC/File/USMARC.pm
  a  3.282 share/perl5/Mail/Header.pm
  b  3.191 share/perl5/HTML/TokeParser/Simple/Token/Text.pm
  c  3.093 share/perl5/HTTP/Proxy/BodyFilter/tags.pm
  d  2.856 share/perl5/HTML/Parse.pm
  e  2.841 share/perl5/HTML/Tagset.pm
  f  2.770 share/perl5/HTML/TokeParser/Simple/Token/ProcessInstruction.pm
  Enter Number or ‚q‘>
Et en consultant la documentation du premier module, donc, HTML::TokeParser::Simple, j’obtiens un exemple sur la manière de procéder. Comme vous pouvez le constater, les résultats sont classés en fonction de leur pertinence (utilisation du TF-IDF, Term Frequency - Inverse Document Frequency, classique dans le domaine de l’information retrieval)

Autres options du programme

Les options suivantes sont également disponibles, bien que non documentées par le programme :
  • -maxhits n
Permet de limiter le nombre de résultats de recherche à n documents.
  • -verbose
En combinaison avec l’option index, demande au programme d’être plus bavard.
  • -idir path
Cette option spécifie le chemin où les index doivent être créés lors de l’indexation. Par défaut, les index se trouvent dans le répertoire /usr/share/man, mais cela nécessite que cela soit l’utilisateur root qui se charge de la mise à jour de cet index (si vous installez régulièrement des nouveaux modules, il est nécessaire de lancer perlindex -index régulièrement également). Si vous décidez d’utiliser cette option, ne pas oublier de la spécifier également lors de la recherche.
  • dict n
Cette option permet d’afficher les mots-clés présents dans l’index. Si vous spécifiez un seuil n à l’option, il filtrera les mots-clés, et n’affichera que les termes dont la fréquence est supérieure à n. Ainsi, sur ma machine, perlindex -dict 1500 affiche
    head                 2480
    author               1829
    cut                  2021
Cela illustre un problème lors de l’indexation des fichiers POD.

Conclusion

Ce programme n’est pas parfait, mais il est d’une aide certaine lorsqu’il s’agit de se débrouiller avec ce que l’on a. Il m’est souvent bien utile pour retrouver la bonne page dans toute la documentation disponible.
Il y a : 0 commentaire(s)

Donnez votre avis

Vous devez avoir ouvert une session pour écrire un commentaire.

Brèves
Édito : Linux Pratique Essentiel N°24
Édito : Linux Pratique HS N°23
Édito : GNU/Linux Magazine 146
Édito : GNU/Linux Magazine HS N°58
Édito : Open Silicium N°5
Communication
Linux Pratique HS 23 – Communiqué de presse
Linux Pratique Essentiel N°24 – Communiqué de presse
Gnu/Linux Magazine sponsor et partenaire de PROLOGIN
Linux Essentiel partenaire des Rencontres du Libre de Lion sur Mer (Normandie)
GNU/Linux Magazine HS 58 – Communiqué de presse
prochainement moteur de recherches des articles
 
:
:
Jours heures minutes secondes
En kiosque
Le tout nouveau Linux Pratique Essentiel est disponible dès maintenant chez votre marchand de journaux et sur notre site...

Lire la suite...

Le tout nouveau Linux Pratique est disponible dès maintenant chez votre marchand de journaux et sur notre site...

Lire la suite...

Le tout nouveau GNU/Linux Magazine est disponible dès maintenant chez votre marchand de journaux et sur notre site...

Lire la suite...

Le tout nouveau GNU/Linux Magazine HS est disponible dès maintenant chez votre marchand de journaux et sur notre site...

Lire la suite...

Le tout nouveau Open Silicium est disponible dès maintenant chez votre marchand de journaux et sur notre site...

Lire la suite...

Le tout nouveau Linux Pratique est disponible dès maintenant chez votre marchand de journaux et sur notre site...

Lire la suite...

Le tout nouveau Misc est disponible dès maintenant chez votre marchand de journaux et sur notre site...

Lire la suite...

Le tout nouveau GNU/Linux Magazine est disponible dès maintenant chez votre marchand de journaux et sur notre site...

Lire la suite...