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 Apache SolR 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 Integration http://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 Stockholm http://robshouse.net/blog-post/me-speaking-about-apache-solr-search-drupalcamp-stockholm
Références >  Views 3 + Apache Solr + Acquia Drupal = The Future of search http://www.acquia.com/blog/views-3-apache-solr-acquia-drupal-future-search >   Geospatial Apache Solr searching in Drupal 6 by upgrading Solr to 3.1 http://ericlondon.com/geospatial-apache-solr-searching-drupal-6-upgrading-solr-31 >  The offical Apache SolR wiki http://wiki.apache.org/solr/FrontPage. >  Search in Drupal http://poplarware.com/articles/drupal_search
Merci pour votre attention! Gwénaël Chichery  pour  Drupagora  2011 Partner at Actualys gchichery(at)actualys.com www.actualys.com 10 novembre 2011

Conférence Drupagora 2011: Drupal et les moteurs de recherche: Apache SolR

  • 1.
    Les solutions derecherche avec Drupal
  • 2.
    De l’importance d’unmoteur 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.
  • 3.
    Quelques chiffres… Premièreaction d’un internaute en arrivant sur un site e-commerce. Source: MarketingSherpa.com
  • 4.
    Les qualités d’unbon 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.
  • 5.
    Les qualités d’unbon 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:
  • 6.
    Le meilleur moteurde recherche selon mes visiteurs
  • 7.
  • 8.
  • 9.
    La recherche pardé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.
  • 10.
    Les limites dumodule 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.
  • 11.
    Peux-on repousser leslimites 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.
  • 12.
    Les applications dédiéesexternes > Xapian > Sphinx > Apache SolR (Lucene Java) > Zend Lucene > Exalead > Les appliances externes: Google, Bing
  • 13.
  • 14.
    La génèse deSolR > 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é.
  • 15.
    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.
  • 16.
    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.
  • 17.
    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!
  • 18.
    Comment ça marche?Drupal MySQL Apache SolR SQL POST GET
  • 19.
    Un même serveur,plusieurs sites
  • 20.
  • 21.
    Solr propose bienplus… > Auto-complétion. > Suggestions de corrections orthographiques. > Recommandations de contenus. > Filtrage géographique. > Surlignages des résultats.
  • 22.
    Le paradoxe dela 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… »
  • 23.
    Scénario de recherchesur Google « Je recherche un week-end en Janvier, avec un départ le 6: la recherche Full text montre ici ses faiblesse.  »
  • 24.
    Scénario identique surune recherche par facettes
  • 25.
    Les facettes SolRmises 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 »
  • 26.
    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
  • 27.
    Oui mais unserveur 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.
  • 28.
    Quel avenir pourSolR 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.
  • 29.
    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é.
  • 30.
    Références > Apache Solr Search Integration http://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 Stockholm http://robshouse.net/blog-post/me-speaking-about-apache-solr-search-drupalcamp-stockholm
  • 31.
    Références > Views 3 + Apache Solr + Acquia Drupal = The Future of search http://www.acquia.com/blog/views-3-apache-solr-acquia-drupal-future-search > Geospatial Apache Solr searching in Drupal 6 by upgrading Solr to 3.1 http://ericlondon.com/geospatial-apache-solr-searching-drupal-6-upgrading-solr-31 > The offical Apache SolR wiki http://wiki.apache.org/solr/FrontPage. > Search in Drupal http://poplarware.com/articles/drupal_search
  • 32.
    Merci pour votreattention! Gwénaël Chichery pour Drupagora 2011 Partner at Actualys gchichery(at)actualys.com www.actualys.com 10 novembre 2011