Publié le

Drupal possède un excellent moteur de recherche par mots-clés, le module search qui est fourni à la base avec Drupal. On peut employer plusieurs opérateurs de recherche, l’intersection de mots-clés (ET), l’union (OU), la négation (NON) de même que la recherche de phrases complètes. L’algorithme de classement tiens compte de plusieurs facteurs tels la fréquence du mot, son balisage HTML, la popularité et la date de publication du contenu. En étant détaché de la mise à jour des contenus via la commande cron, le processus d’indexation ne nuit pas au fonctionnement rapide du site. Par-dessus tout, le moteur est très facile à utiliser puisqu’il suffit de deux clics pour activer le module!

Par conséquent, le module search sert les besoins de milliers de sites. Cette popularité extrême en fait aussi un module fréquemment critiqué. On voudrait plus facilement personnaliser l’interface de recherche et les pages de résultats, accroître la vitesse sur les sites très lourdement chargés de contenus, brancher d’autres algorithmes de calcul du classement, rechercher des mots partiels, rechercher du texte dans des champs spécifiques, rechercher des plages de valeurs, se faire suggérer des termes similaires, rechercher dans les fichiers joints, etc. Bâtir un moteur de recherche qui répond à toutes les demandes n’est pas une mince affaire!

Plusieurs modules additionnels visent à répondre à certaines de ces demandes, notamment Faceted Search (je dois le mentionner :)), Views Fast Search, Apache Solr, Fuzzy Search et Swish-E.

À chaque nouvelle version de Drupal, le module search connaît son lot d’améliorations. Dans Drupal 6, les améliorations ont surtout concerné la vitesse d’exécution des requêtes de recherche. Pour le futur Drupal 7, la course aux améliorations est lancée et, à l’occasion d’un sprint inédit qui aura lieu du 9 au 11 mai prochain à l’Université du Minnesota, atteindra une vitesse folle! En effet, c’est à cette date que sera tenu le Search Sprint, une rencontre de plusieurs développeurs chevronnés impliqués dans le développement de Drupal et d’outils de recherche. J’aurai la chance d’y prendre part moi-même, avec l’appui du Laboratoire NT2 de l’UQAM — qui utilise mon moteur de recherche à facette dans de nombreux projets et qui souhaite poursuivre le développement d’outils de recherche avancés pour Drupal — et de Acquia. Les autres participants ayant confirmé leur présence jusqu’à présent : Earnest Berry, Robert Douglass, Chad Fennell, Doug Green, Michael Hess, Djun Kim, Blake Lucchesi.

Lors de la dernière conférence Drupalcon à Boston, j’ai pu constater à quel point réunir au même endroit des développeurs intéressés pouvait créer des synergies et orienter les efforts autour de directions communes. Semblable au Search Sprint, un sprint s’est tenu à Paris et vient de se terminer avec la mise en place d’un système de tests unitaires automatisés pour Drupal, un gain énorme qui permettra d’accélérer le développement de la plateforme sans risquer d’en compromettre la qualité. Bref, ce genre d’évènement a fait ses preuves et, malgré la nature décentralisée et géographiquement dispersée à laquelle nous sommes habitués dans l’univers Drupal, tout le monde s’entend sur les bénéfices de ces sprints!

Nous ne règlerons pas tous les enjeux de la recherche sous Drupal lors d’un sprint de 3 jours, mais on pourra s’attendre à des résultats plus qu’intéressants.

Commentaires