Mes nouvelles activités ne me laissent que peu de temps pour mettre à jour ce blog. En attendant une éventuelle reprise de mes divagations éditoriales, vous pouvez toujours parcourir les anciens articles. A+ et bonne lecture!

Le Test d'Acquia Search

Sujet:

Rubrique:

A l'occasion du nettoyage d'été habituel de ce blog, j'ai voulu mettre en place un nouveau système de navigation qui utilise les principes de la recherche par facette. La recherche par facette est, d'après moi, un des moyens les plus efficace de trouver un contenu dans un site.

Acquia Search est un package clé en main qui permet de disposer de ce type de recherche. J'ai donc décidé de tester cette solution et de partager les résultats avec vous.

Présentation rapide d’Acquia Search

Acquia Search est la combinaison d’un module pour Drupal et d’un service (payant) hébergé.

La partie module, qui est bien sur Open Source comme tous les modules Drupal, comprend une interface d’administration graphique pour le paramétrage du fonctionnement de la recherche depuis votre site Drupal et tous les connecteurs qui permettent l’intégration à votre site d’une plateforme de recherche Apache Solr. Apache Solr est un moteur de recherche externe qui va remplacer celui de Drupal (le module Search) afin d’offrir un performance accrue et des fonctionnalités supplémentaires.

La partie service comprend de la place sur le serveur Solr de Acquia pour héberger votre index. L’intérêt réside dans sa simplicité, vous n’avez pas à paramétrer ni à maintenir un serveur Solr. Le principe doit donc permettre à n’importe qui de bénéficier d’un moteur de recherche fiable, puissant et rapide.

Avertissement: ce test a été effectué sur un blog dont la fréquentation ne permet pas d'estimer efficacement les performances (vitesse) du système. A vous de faire vos propres tests.

La force de AS : sa simplicité. Sa faiblesse ? Son coût ! Et oui, AS est un des service de l'offre commerciale de Acquia. Pour 349$/an, l’offre de base de Acquia, vous bénéficiez d'une (petite?) palette de services avec du support technique sur un forum dédié, du monitoring de votre site et donc un peu de place (pour 2000 nœuds) sur leur plateforme Solr. Malheureusement il s'agit d'une offre packagée qui ne permet pas choisir les services à la carte.

Qu'en est-il du rapport qualité prix alors ? Difficile de répondre pour vous. Si le produit répond à vos attentes essayez alors d'estimer le coût et le temps nécessaire à l'acquisition de l'expertise, l'installation du serveur et sa maintenance. Vous verrez alors si AS est une bonne solution, conforme à vos besoins. Cela peut aussi être une solution temporaire, facile à tester et configurer avant de mettre en place un serveur dédié. Enfin si le service d'Acquia est trop cher et si mettre en place un serveur Solr est trop lourd vous pouvez toujours vous tourner vers le Module "Faceted Search" qui permet de mettre en place une navigation par facette en utilisant le module de recherche standard de Drupal (mais avec une consommation intensive des ressources de votre serveur).

Pour votre information, ne pouvant me permettre de payer 349$ pour ce blog (qui ne me rapporte pas un kopek) c’est cette dernière solution que j’ai choisie. Mais revenons tout de même à Acquia Search.

L'installation

L’installation est bluffante : simplement et en moins de 5 minutes j’ai réussi à obtenir un système de recherche opérationnel.

Si ce n’est déjà fait il faut vous inscrire sur le site de Acquia afin d’obtenir un identifiant et une clé. Heureusement, il existe une offre d’essai de un mois qui vous permet de tester le système.
Vous pouvez maintenant télécharger et activer les modules suivants : Acquia Agent, Acquia Search, Apache Solr search et Apache Solr framework.

Puis vous allez dans l’interface d’administration de Acquia pour rentrer votre identifiant et votre clé.
Enfin vous activez la recherche par facette et magiquement tout se met en place. Le module va même placer pour vous les premiers blocs de filtres (les facettes) dans la barre latérale gauche.

Le paramétrage du module

Le paramétrage se fait simplement via 5 formulaires.

Le premier contient un certain nombre de paramètres généraux.

On peut paramétrer le nombre de nœuds indexer par votre cron, le nombre de résultat par page et le comportement en cas de défaillance du serveur de Acquia. Une option intéressante permet d’activer la recherche par facette dès lors que l’on clique sur un terme de taxonomie. Cela renforce le concept de navigation par facette. Enfin, pour finir, on y découvre une petite merveille dont on a pris l’habitude avec google : la suggestion de correction orthographique. Ainsi, si je recherche « dupal », le module va me proposer de rechercher « drupal ».

Le deuxième écran de paramétrage vous permet de gérer l'indexation de votre contenu.

Le troisième écran de paramétrage vous permet de spécifier quels seront les blocs de filtre, donc les facettes, qui seront affichés pendant une recherche.

On peut ainsi affiner une recherche en fonction de : l’auteur, la date, le type de contenu, les termes de taxonomie (avec un bloc par vocabulaire) , des champs CCK (non testé), etc. Le module va alors créer un nouveau bloc pour chaque facette que vous pourrez ainsi placer dans n’importe quelle région de votre thème.
A noter : la visibilité des blocs est automatiquement ajustée afin de ne s’afficher que lorsque une recherche est affichée.

Le quatrième et le cinquième écrans de paramétrage vous permettent de pondérer l’importance d’un nœud en fonction de critères comme les métadonnées (noeud épinglé, nombre de commentaires) ou les champs qui le compose.

Le résultat

Lorsque vous lancez une recherche en tapant un mot dans le formulaire de recherche, le résultat est affichée dans la région principale de votre thème. Les différents blocs de filtres, de tris et de permettent d’affiner progressivement la recherche.

Le tri par défaut affiche les résultats les plus pertinent en fonction des critères défini dans les deux derniers écrans de paramétrage du module.

Quelques limites

Cette liste n’est surement pas exhaustive, néanmoins voici quelques unes des limites que j’ai rencontrées à l’utilisation.
• Un seul univers de recherche par site.
• Les facettes ne permettent pas de lancer une recherche, elles ne s’affichent qu’une fois la recherche commencée en tapant un mot clé.
• Pas d'option pour remplacer le résultat de recherche standard par une view sur-mesure.
• L’option « taxonomie » (évoquée plus haut) qui ne se dégrade pas bien lorsque le serveur est « out »

Votre avis ?

Si vous avez une expérience significative sur la mise en production d’un serveur Solr ou sur l’utilisation du service d’Acquia, je serai heureux de bénéficier de votre retour d’expérience…

Commentaires

  1. Ca c'est du tuto. Merci

    Ca c'est du tuto. Merci d'avoir partager ton expérience.
    B.

  2. Facet

    Les facettes ne permettent pas de lancer une recherche, elles ne s’affichent qu’une fois la recherche commencée en tapant un mot clé.

    Je connais assez les Facets de Solr pour te dire que la limitation sur les facet n'est pas une limitation du module ni de Solr. Les facets ne servent pas à lancer des recherches mais à classer les résultats. Il faut donc avoir déjà un résultat.

    En revanche Solr comprend tout un système pour faire des requêtes plus précise, notamment avec des filtres sur les données ou les méta-données, avec support des dates, des langues, des "range" de valeurs etc... Cependant ca reste difficile à utiliser dans le cadre d'un moteur FullTextSearch standard.

    Ca doit pas être très compliquer de fabriquer des Moteur de recherche spécifiques.

  3. @Sylvain_G : ce n'est

    @Sylvain_G : ce n'est effectivement pas une faiblesse de Solr, qui est reponsable de la recherche.

    Par contre, je persiste à dire que c'est une faiblesse du module qui devrait récupérer les facettes d'une façon ou d'une autre pour les afficher dans un bloc avant que la recherche soit lancée.

    Sinon on perd une des partie de l'intérêt de la "navigation" par facette telle que je l'ai mise en place sur mon blog par exemple.

    A+

  4. Merci beaucoup pour le Tuto

    Merci beaucoup pour le Tuto maintenant au boulot !! Jeux gratuits

 

Guided search