The trashiest blog in the World...

Aller au contenu | Aller au menu | Aller à la recherche

Recherche dans la documentation francophone de Fedora : la face PHP

Il y a quelques jours, je vous annonçais la création et la mise en ligne d'un bot IRC qui permet d'effectuer des recherches dans la documentation francophone de Fedora.
Si votre mémoire est bonne (ou si vous avez suivi le lien de la ligne au dessus :-p) ; vous saurez que j'ai utilisé le moteur de recherche Apache Solr pour arriver à mes fins.

Quelque jours plus tôt encore, je parlais brièvement de l'API PHP pour Solr, ainsi que de la mise à disposition sur les dépôts Fedora (et EPEL !) de l'extension php-pecl-solr.

Il fallait absolument faire quelque chose de tout cela ! Bon... OK... mon côté petit développeur du dimanche à pris le dessus, d'accord... ;-)

J'ai donc utilisé l'API PHP/Solr et utilisé l'indexation que j'avais préalablement effectuée pour MrBot afin de produire une interface de recherche un brin plus évoluée que le simple résultat renvoyé sur IRC.
Voici le résultat : http://fedoradoc.ulysses.fr.

Cette interface apporte, entre autres, les fonctionnalités suivantes :

  • la recherche de termes dans les titres et/ou le texte des articles du wiki,
  • un « suggest »
  • la possibilité de filtrer sur une ou plusieurs catégories,
  • le sur-lignage des termes recherchés dans les résultats,
  • la présentation d'un extrait de texte qui permet de contextualiser le résultat.

L'intégration de cette « interface » sur le site fedora-fr.org n'est pas à l'ordre du jour pour différentes raisons :

  • le serveur actuellement en place ne possède pas assez de mémoire vive pour faire tourner les services actuels plus l'index Solr,
  • je n'ai pas envie de « perdre mon temps » à intégrer ça dans MediaWiki (ça ne m'intéresse vraiment pas d'apprendre à utiliser leur API),
  • il faut laisser leur chance à d'autres de contribuer,
  • ...

En revanche, j'ai un peu pêché sur le nom de l'application ; j'étais en panne d'inspiration :'( Ça donne donc php-docfr-solrsearch, mais au diable le nom, cela importe bien moins que les fonctionnalités (illustration parfaite de l'expression « se raccrocher aux branches » diront les esprits chagrins) ;-)

Bien évidemment, tout le code source est sous licence libre (GPLv3 en l'occurrence), et disponible sur mon dépôt mercurial. Voici quelques liens « agréables », sinon « utiles » :

Bien entendu, les retours, les commentaires constructifs, les patches (on peut toujours rêver), les intégrations à MediaWiki (ben oui, on peut rêver, non ?) sont les bienvenus !

Je suis bien conscient que le fonctionnement actuel n'est pas parfait et que des incohérences et bogues peuvent survenir. Tout ça sera fort certainement corrigé au fur et à mesure.

Commentaires

1. Le samedi 29 mai 2010, 20:20 par mxcarron

Pas mal, pas mal!
Les résultats semblent bons.

Pour l'apparence, je dirais qu'il faudrait un peu aérer les résultats de la recherche.
Je ne suis pas fan de la regle blanche juste au dessus des catégories et date de derniere modif. Elle produit en plus un "bug" d'affichage. Lorsqu'elle est plus longue que l'espace aloué pour les résultats, notamment les resultats affichés au meme niveau que l'encart "filtrer par catégories", cette regle force le navigateur à afficher le texte en dessous de l'encart. Laissant donc une grande place vide au mieu de la page. (Je ne sais pas si ce que j'ai raconté est tres clair).
Par exemple, lorsqu'on recherche "rpm" avec une résolution en 1200*800. Je te ferai une capture d'ecran si besoin.