$30 off During Our Annual Pro Sale. View Details »

Recherche dans WP, native, plugins, serveur Elasticsearch, SAAS, on vous explique tout !

Recherche dans WP, native, plugins, serveur Elasticsearch, SAAS, on vous explique tout !

Fonctionnalité assez secondaire sur les plateformes d’actualité, la recherche est une fonctionnalité essentielle dès qu’on utilise WordPress dans un contexte entreprise, et notamment pour des outils métiers (extranet, base documentaires)
Panorama des solutions existantes :
Native
Extensions (SearchWP / Relevanssi)
Serveur (Elasticsearch, Solr)
SAAS (Algolia, ElasticPress, Google, Swiftype, Jetpack)
La seconde partie de la conférence aura vocation à présenter l’installation et le paramétrage de la solution open-source Elasticsearch et notamment l’extension ElasticPress (car c’est pas si compliqué que cela !)

Amaury Balmer

April 28, 2018
Tweet

More Decks by Amaury Balmer

Other Decks in Programming

Transcript

  1. Recherche dans WP, native, plugins, serveur Elasticsearch, SAAS, on vous

    explique tout !
  2. < Amaury BALMER >/ 13 ans que WordPress est mon

    quotidien BeAPI existe depuis 9 ans Fondateur, développeur, directeur technique et maintenant ambassadeur Une agence WordPress qui travaille avec des grands comptes (et avec le sourire)
  3. Pitch Fonctionnalité assez secondaire sur les plateformes d’actualité, la recherche

    est une fonctionnalité essentielle dès qu’on utilise WordPress dans un contexte entreprise, et notamment pour des outils métiers (extranet, base documentaires) Panorama des solutions existantes : • Native • Extensions (SearchWP / Relevanssi) • Serveur (Elasticsearch) • SAAS (Algolia) La seconde partie de la conférence aura vocation à présenter l’installation et le paramétrage de la solution open-source Elasticsearch et notamment l’extension ElasticPress (car c’est pas si compliqué que cela !)
  4. Pourquoi ne pas investir dans un moteur de recherche ?

  5. La fonctionnalité de recherche est utilisée par 5.4% des utilisateurs.

  6. Le site contient trop peu de contenu

  7. 80% du trafic est généralement issu de Google et des

    réseaux sociaux
  8. Pourquoi investir dans un moteur de recherche ?

  9. La fonctionnalité de recherche est utilisée par 30% des utilisateurs

    sur les sites e-commerce
  10. Le taux de conversion est doublé pour les internautes ayant

    fait une recherche
  11. None
  12. None
  13. “WordPress as CMS”

  14. None
  15. Qu’attendre d’un moteur de recherche

  16. Trouver & trier

  17. Mais pas que... • Tolérance lors de la saisie (typo,

    accent) • Recherche géolocalisée • Synonymes (carabistouille <=> mensonge) • Highlighting / Snippetting • Naviguer avec des filtres et des facettes • Analytics & reporting
  18. Les solutions de recherche au sein de WordPress

  19. Core Plugins Serveurs de recherche SAAS

  20. Core WP

  21. Core WP 0.72 à 3.6.x

  22. Une recherche qui trouve (parfois) mais qui ne trie pas

    WP 0.72 : AND ((post_title LIKE \''.$n.$s.$n.'\') OR (post_content LIKE \''.$n.$s.$n.'\')) WP 3.6 : $search .= "{$searchand}(($wpdb->posts.post_title LIKE '{$n}{$term}{$n}') OR ($wpdb->posts.post_content LIKE '{$n}{$term}{$n}'))";
  23. Core WP 3.7 à 5.0

  24. Version 3.7 Improved Search More relevant search results.

  25. Algorithme de recherche “core” 1. Full sentence matches in post

    titles. 2. All search terms in post titles. 3. Any search terms in post titles. 4. Full sentence matches in post content. https://core.trac.wordpress.org/changeset/25632 https://core.trac.wordpress.org/ticket/7394
  26. Plugins

  27. 2 compétiteurs

  28. Fonctionnalités / Relevanssi

  29. Lequel choisir ? Relevanssi Interface -- Base code -- Sécurité

    -- Recherche multisite ++ SearchWP Interface ++ Base code ++ Ne supporte pas les “guillemets” --
  30. Oui… Mais !

  31. Serveurs de recherche

  32. 2 compétiteurs

  33. Lequel choisir ? Elasticsearch Plus récent, écosystème + dynamique Davantage

    “plug & play” Aspect “analytics” ++ Apache SOLR Plus ancien Plus complexe à mettre en oeuvre Base d’utilisateurs + importante Comparatif complet : http://solr-vs-elasticsearch.com/
  34. Les extensions WordPress ElasticPress • Intégration à WP_Query • Support

    de WooCommerce • Articles relatifs • Suggestion automatique • WP-CLI https://github.com/10up/ElasticPress SOLR Power • Intégration à WP_Query • WP-CLI • Choix des contenus à indexer https://github.com/pantheon-systems/solr-power
  35. Solutions SAAS

  36. 5 compétiteurs

  37. Google Custom Search Engine Avantages • Meilleur algo “du monde”

    • Comme sur Google (UX) • Rapide à déployer Inconvénients • Des pages, uniquement • Pas de facettes personnalisées • UX/UI limité
  38. Elasticsearch on SAAS Pour les blogueurs(*) : Jetpack Pour les

    développeurs : ElasticPress Pour les autres : Swiftype
  39. Algolia Startup française ( ) Un plugin WordPress officiel •

    Recherche • Facettes • Autocompletion • Développeurs Support WooCommerce à venir Pricing $$$
  40. Core Plugins Serveurs de recherche SAAS

  41. Concrètement

  42. Cas d’étude Journaldugeek.com 1,5 millions de commentaires 123 591 articles

    Recherche basique sur l’expression “WordPress”
  43. Résultats Solution Temps d'exécution Poids de la BDD Nombre de

    résultats Core 8-30 secondes 3,35 GB 199 SearchWP 2 secondes 3,35 GB + 5 GB 430 ElasticSearch 192 ms 3,35 GB + 1,82 GB 2859
  44. Elasticsearch concrètement

  45. Poste de développement Elasticsearch = applicatif Java WAMP, XAMP, MAMP

    Vagrant, Docker, oui !
  46. None
  47. Lando = Docker on steroids https://docs.devwithlando.io/

  48. Recipes - Lando • WordPress ◦ https://docs.devwithlando.io/tutorials/wordpress.html • Elasticsearch ◦

    https://docs.devwithlando.io/services/elasticsearch.html • SOLR ◦ https://docs.devwithlando.io/services/solr.html
  49. Démo

  50. Des questions ? 50

  51. < belle journée et merci pour votre écoute /> Amaury

    @be_api 51