Upload
roselle-brault
View
119
Download
3
Embed Size (px)
Citation preview
Les solutions de recherche avec Drupal
De l’importance d’un moteur de recherche
> La fonction de recherche est souvent la fonction la mieux maitrisée par l’internaute.
> Parfois le seul moyen de donner accès à des documents sur un site.
> Un bon moteur de recherche permet d’améliorer la conversion: e-commerce, inscription, services, etc.
Quelques chiffres…
Première action d’un internaute en arrivant sur un site e-commerce.
Source: MarketingSherpa.com
Les qualités d’un bon moteur de recherche
> Efficace: il permets d’indexer « MES » informations / documents.
> Rapide: le temps de réponse est capital.
> Pertinent: il doit permettre à l’internaute de trouver l’information que l’on souhaite lui apporter. (scoring factor)
> Personnalisable: Je dois pouvoir l’intégrer selon mes besoins.
Les qualités d’un bon moteur de recherche vues de l’internaute
> Rapide: pour ne pas dire instantané.
> Facile à utiliser.
> Me donne le bon résultat en premier si possible.
> En un mot, le bon moteur de recherche:
Le meilleur moteur de recherche selon mes visiteurs
La recherche par défaut sous Drupal 7
> Une solution « Out of the box ».
> Un module search, un formulaire et quelques options.
> Une intégration avec les modules « Node » et « User ».
> Une gestion « automatique » des permissions.
> Un scoring factor basique.
Les limites du module search
> Les performances, notamment couplé avec l’utilisation de views.
> Les performances s’écroulent avec de nombreux contenus (> 10k nœuds).
> La recherche s’effectue sur le même serveur que la base de données.
> Un paramétrage faible.
> N’indexe pas les documents: Word, PDF, PPT, etc.
Peux-on repousser les limites du module search?
> OUI: Il existe de nombreux modules permettant d’étendre les fonctionnalités de recherche: recherche par facette, views avec des filtres, « faceted search » indexation de documents, etc.
> NON: On ne peux pas pallier les limites en terme de performance. La combinaison de nombreux modules peux rendre la maintenance délicate.
Les applications dédiées externes
> Xapian
> Sphinx
> Apache SolR (Lucene Java)
> Zend Lucene
> Exalead
> Les appliances externes: Google, Bing
+
La génèse de SolR
> Créé initialement par CNT Networks en 2004.
> Le code a été transmis à la fondation Apache en 2006.
> En 2007, SolR est devenu un sous-projet de Lucene.
> En 2010, les projets SolR et Lucene-java ont fusionné.
La carte d’identité d’ Apache SolR
> Un projet Open Source soutenu par la fondation Apache.
> Une application Java / J2EE, tourne parfaitement sur Tomcat, Resin ou Jboss.
> Architecture ouverte, modules, interfaces XML, JSON et HTTP.
> Parfaitement intégré à Drupal grâce à différents module, le principal étant Apache SolR Search Integration.
Pourquoi Apache SolR ?
> Capable d’indexer des volumes de données importants.
> Très rapide, les performances se dégradent très peu avec le trafic.
> Gestion du cache performante
> Scalability.
Pourquoi Apache SolR ?
> L’indexation de nombreux formants de documents: Word, Powerpoint, PDF.
> Notions de scoring et critères avancés.
> La recherche par filtres.
> Les recherches par facettes.
> Le moteur de recherche de Drupal.org!
Comment ça marche?
Drupal
MySQL
ApacheSolR
SQL
POST
GET
Un même serveur, plusieurs sites
Une recherche multi sites
Solr propose bien plus…
> Auto-complétion.
> Suggestions de corrections orthographiques.
> Recommandations de contenus.
> Filtrage géographique.
> Surlignages des résultats.
Le paradoxe de la recherche à facette
« Partir d’une recherche peu précise pour arriver au résultat souhaité, quand Google ne peux plus rien pour moi ou presque… »
Scénario de recherche sur Google
« Je recherche un week-end en Janvier, avec un départ le 6: la recherche Full text montre ici ses faiblesse. »
Scénario identique sur une recherche par facettes
Les facettes SolR mises en œuvre avec Drupal pour la construction d’un site: www.universitedesaidants.fr
« Les pages sont construites grâce aux résultats renvoyés par Apache SolR »
Quelques tips…
> Désactiver la recherche standard… et l’indexation par le module « core search »…
> Si SolR est sur le même serveur que votre base de donnée, prévoir de lancer une indexation séparée des autres CRONS.
> Testez différentes configurations.
> SolR search fonctionne avec DRUSH
Oui mais un serveur Java c’est compliqué…
> Il existe un équivalent en PHP: Zend Lucene mais le module Drupal n’est pas stable.
> Une solution hébergée en mode ASP:
> La solution fonctionne sur Drupal 6 et 7, le module est Plug & Play.
> Pas de config, pas de maintenance, pas de java.
Quel avenir pour SolR et Drupal
> Le module est activement maintenu, notamment par Acquia.
> Avec « Views 3 », il est possible d’afficher des résultats provenants directement de SolR, de la même façon qu’avec une base de données MySQL.
> Pas de requêtes en base de donnée, pas de jointures complexes.
> Génération aisée de slideshows ou de playlists avec contenus multimédias.
En résumé
> J’ai peu de contenus, je recherche la simplicité: « Core search », éventuellement agrémentés que quelques modules.
> J’ai beaucoup de contenus, une problématique de performances, mais pas de ressources pour maintenir et héberger un serveur J2EE: une solution SAAS telle que Acquia Search.
> J’ai de nombreux contenus, je dois indexer plusieurs sites et une problématique forte de performances: SolR sur serveur dédié.
Références
> Apache Solr Search Integrationhttp://drupal.org/node/343467
> Intro to Apache Solr for Drupal http://www.slideshare.net/reallyordinary/intro-to-apache-solr-for-drupal-8157887
> Robert Douglass au DrupalCamp Stockholmhttp://robshouse.net/blog-post/me-speaking-about-apache-solr-search-drupalcamp-stockholm
Références
> Views 3 + Apache Solr + Acquia Drupal = The Future of searchhttp://www.acquia.com/blog/views-3-apache-solr-acquia-drupal-future-search
> Geospatial Apache Solr searching in Drupal 6 by upgrading Solr to 3.1http://ericlondon.com/geospatial-apache-solr-searching-drupal-6-upgrading-solr-31
> The offical Apache SolR wikihttp://wiki.apache.org/solr/FrontPage.
> Search in Drupalhttp://poplarware.com/articles/drupal_search
Merci pour votre attention!
Gwénaël Chichery pour Drupagora 2011Partner at Actualysgchichery(at)actualys.comwww.actualys.com
10 novembre 2011