Drupal : comment le moteur de recherche Apache SolR s'est imposé

Drupal : comment le moteur de recherche Apache SolR s'est imposé Rapide, robuste et disposant d'une vaste couverture fonctionnelle, Apache SolR a déjà été adopté par de nombreux sites Drupal. Retour sur un projet Open Source qui a séduit experts de la communauté et ténors du web.

Quel moteur de recherche choisir pour un site conçu avec Drupal ? Le CMS Open Source propose bien un moteur par défaut, mais il peut vite montrer ses limites. "Il est tout à fait acceptable pour un emploi basique, mais certaines possibilités lui manquent pour un usage plus avancé", prévient Gwenaël Chichery, directeur associé chez Actualys, agence notamment spécialisée sur ces questions.

Drupal, et son moteur par défaut limité

Lors d'une conférence donnée à l'événement Drupagora, cet expert avait d'ailleurs déjà souligné plusieurs fonctionnalités manquantes du moteur de recherche proposé par défaut. Ce dernier ne permet par exemple pas d'indexer et de faire remonter du contenu issu des fichiers .doc, .pdf ou .ppt. Le paramétrage est aussi assez limité, concernant les critères de classement des résultats par exemple. "Installer une recherche à facettes n'est pas non plus évident, et donne des résultats laissant à désirer. Il y a peut-être des plugins pour pallier ces manques, mais ce n'est jamais bon de les multiplier pour un site", conseille l'expert d'Actualys. Enfin, dernier défaut, et non des moindre pour un CMS souvent choisi pour sa robustesse, et donc pour des sites avec une volumétrie conséquente : le moteur par défaut a du mal à tenir la charge. Pour Gwenaël Chichery, les performances "s'écroulent" sous de trop nombreux contenus, c'est-à-dire pour un site de plus de 10 000 pages.

Parmi les alternatives se présentant aux insatisfaits du moteur proposé par défaut cherchant robustesse et bonne couverture fonctionnelle, figurent notamment les moteurs externes commerciaux, comme celui de Dassault Systèmes (Exalead) ou de Google (et sa Google Search Appliance), mais ce ne sont pas les solutions les moins chères, ni les plus adoptées. "Dire que SolR s'est imposé sur Drupal correspond à la réalité du marché, même si cela ne s'est pas fait d'un coup", a pu observer Gwenaël Chichery. Côté CMS d'abord, la 7e version de Drupal, disponible depuis 1 an, permet d'intégrer plus facilement SolR.

De belles références pour Lucene, SolR et Apache SolR

Ensuite, le moteur de recherche lui-même a évolué et fait ses preuves. Pour rappel, Apache Solr est le fruit d'une fusion, de Lucene d'un côté, un projet Java de la Fondation Apache depuis 2001, et même l'une de ses priorités ("Top Level Project ") depuis 2005, et de l'autre côté de Solr, qui a d'abord été développé chez CNet, qui l'a ensuite donné à la Fondation Apache. Des géants comme Wikipédia ou Twitter ont adopté ces technologies pour leur moteur de recherche. Et l'adoption continue. Apache SolR est bien souvent retenu par des sites Drupal. "Le plus connu de tous et celui qui a popularisé la solution est le site de la Maison blanche", rappelle le directeur associé d'Actualys, qui cite également le site de Mattel ou ceux de Radio France.

"Très rapide, Apache SolR est capable d'indexer des volumes de données importants. Et les performances se dégradent très peu avec le trafic"

Pourquoi un tel engouement ? Apache Solr réussit précisément là où le moteur par défaut montre ses limites. "Sa technologie lui permet d'indexer les textes situés dans les documents, d'effectuer des recherche sur plusieurs sites, en plusieurs langues. Ses paramétrages, concernant les critères de classement notamment, sont moins limités. Les recherches peuvent facilement être affinées par filtre. La navigation à facettes est aussi plus simple à mettre en place. Des fonctionnalités comme l'autocomplétion ou le correcteur orthographique sont également proposées, et le français bien supporté", énumère l'expert d'Actualys.

Autre point différenciant mis en avant, Apache SolR peut gèrer des grands volumes sans fléchir. "Très rapide, il est capable d'indexer des volumes de données importants. Et les performances se dégradent très peu avec le trafic", souligne Actualys sur sa page dédiée au moteur, qui a déjà aussi noté sa gestion "performante" du cache.

Quant au coût, l'installation et le paramétrage ne prennent, selon Gwenaël Chichery, que 5 à 10 jours / homme sur des projets de sites Drupal étalés sur quatre ou cinq mois. L'installation d'Apache SolR n'est donc pas à la portée de tout le monde, mais comme le rappelait un autre spécialiste, Chris Caple, "le moteur de recherche par défaut de Drupal reste décent pour des sites de tailles modestes, alors qu'Apache SolR est parfaitement adapté aux plus gros sites, faisant beaucoup de trafic". A noter également qu'Acquia propose une version hébergée de SolR appelé Acquia Search, qui est prête à l'emploi et que Chris Caple qualifie de "simple à paramétrer".

Enfin, dernier point, la communauté participe activement, quotidiennement, au développement de l'outil, ce qui lui insuffle un rassurant dynamisme. Un critère toujours essentiel pour un projet Open Source, et qui pourrait l'aider à conserver une longueur d'avance sur la concurrence.