Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Le petit blog de Pierre / Pierre's little blog

Sharepoint, .NET, IW (Information Worker) solutions, pour le fun et le partage / for fun and sharing Pierre VIVIER-MERLE - MVP SharePoint

Applications I Like

I, Pierre :-)

[FASTForward Summit] #05 Retour d’expériences Price Minister : amélioration de l’expérience utilisateur avec FAST ESP”,

Justin Ziegler, Vice President and Chief Technical Officer de PriceMinister, nous a fait une excellente présentation de son retour d’expérience sur l’implémentaton de FAST, vrai enjeux business voire question de survie pour le site. Beaucoup de retours concrets, une vision de l’histoire de la construction du site qui montre les itérations projet pour ce type de projet et des cas d’utilisation des utilisateurs très concret.

Me concernant, la plus intéressante présentation jusqu’à présent (avis personnel bien entendu :-))

Voir la synthèse ci-dessous

. PriceMinister

  • 120 personnes, 60 personnes à la DSI
  • FR / ES / UK
  • Concepts :
    • Achat-Vente Garanti / Tiers de confiance
    • Place de marché
    • C2C et B2C
    • Occasion ou neufs déstockés
    • Prix fixes
    • Pas de logistique
  • Chiffres :
    • 10,7 millions de mmebres
    • 10000 utilisateurs simultanés
    • 30 millions de VU en déc 2009
    • + 200 millions annonces
    • 30 millions de produits avec 100 requêtes par s

. Enjeux :

  • 10000 vendeurs pro
    • Certains > 500 000 produits
    • Maj quotidienne / hebdo
    • 8 import en parallèle
  • Pour chaque mise en panier :
    • Re-calcul du meilleur prix / du stocke de la FP
  • Pourquoi FAST :
    • importance de la fréquence de maj
    • décharger la base de données
    • Volumes élevés (produits, utilisateurs, mise à jour) , croissance forte
  • Objectif : Trouver le bon produit

. Ci-dessous une synthèse des fonctionnalités qui sont présentées :

  • Search
    • Tris multiples dont pertinence
    • Compteurs / catégorisation du résultat
    • Did You Mean / page zéro résultats (fonctionnalité récente)
    • Suggestions / complétion (fonctionnalité récente)
    • Local / global
    • Regroupemen
  • Navigation par filtre
    • Tris multiple dont pertinence
    • Compteurs / catégorisation
    • Regroupement
    • Intégration avec le search
  • Flux produit sortant :
    • Batch / incrément pour les moteurs de comparaison

. Search

  • Catégorisation
    • Enrichissement du search : des cas d'utilisateurs où des données n'était pas indexé
    • Avec la collection
      • Ex : Guide du routard n'était pas indexé car pas inclus dans le titre et le champ collection n'était pas indexé. A présent, routard retourne le livre
    • Avec le type du produit : ex : "CD" retournait rien, ou "CD madonna" ne restreignait pas
      • A été ajouté
  • Tri par pertinence (fonction mathématique paramétré par PriceMinister) :
    • Ex : un résultat sur un CD est plus pertinant par rapport au nombres d'offres, la fraîcheur d'offre, le nombre d'avis, le nombre de vente mais également la date de sortie du dernier album
  • Silences :
    • Ex : "ordinateur dell madonna" doit permettre de proposer d'autres recherches avec le nombre de recherche
      • => "ordinateur dell" et "dell madonna" sont proposés
      • Possibilité en amélioration de lancer ces 2 recherches directement sans clic
  • Did You Mean :
    • Orthographe
      • Ex : tchaikovski propose 1 295 résultats avec une proposition pour tchaikovsky qui propose le double (2 235)
      • Serait possible de faire une recherche élargie
      • Par contre, une dégradation plus importante de l'orthographe permette
    • Utilise un dictionnaire mais pas alimenté par les saisies utilisateurs mais par le contenu d'index
    • Possibilité de faire des dictionnaires de nom propres (ex : "Pink Floyd")
  • Suggestions à la frappe
    • Mis en place récemment
    • Pas trié par nombre de résultats mais par pertinence
    • C'est un dictionnaire FAST alimenté par les saisies utilisateurs (comme google)

. Navigation :

  • Navigation:
    • Filtres sélectionnés et compteurs dynamiques calculés en temps réel
    • Ventilation du résultat de recherche dans les rubriques
    • Possibilité de fusionner le search et la navigation : un mot clef devient un filtre
    • Les filtres doivent être paramétrés par connaissance des marques, des produits :
      • Tous les mois, nettoyage et enrichissement des données
      • Ex : "puériculture" et "revue"
  • Clustering / Regroupement :
    • Ex : "trench parka" montre que ce sont les mêmes produits, le stock est cumulé
  • Recommandations :
    • Pré-calcul par batch pour la fiche produit
    • Dynamique dans le panier
    • Ex : nokia propose d'autres nokia sur un Carroussel

. Architecture

  • Enjeux :
    • Fabrication et maintenance de l'index FAST
    • Utilisation de l'index FAST
    • Optimisation de tps de latence
    • Redondance
    • Croissance / montée en charge
    • Notion de dictionnaire
  • Connecteur et indexeur :
    • DB OLTP applicative => connecteur qui capture les changements (toutes les 10s, un connecteur développé en custom) => Indexeur FAST <= Searcher
  • Redondances : 2 connecteurs alimentent 2 grappes de serveurs soit en A/A, soient A/P
    • Est utilisé pour montée de version
    • Bascule à chaud des index sans interruption de services
  • Croissance :
    • 8 millions de produits => 30 millions de produits
    • Ajout d'indexer (des colonnes)
    • Chacun maintient son index
    • Un document n'est présent que dans un seul index
    • Aucun changement de l'application ni du connecteur
    • Failover entre searcher d'une même colonne

=> L’ajout de serveurs a été transparent

  • Config actuelle
    • 2 x 2 x 5 serveurs FAST indexer & searcher
    • 16 cœurs / 16 Gb / 10 disques
    • Tous indexer et searcher
    • Stockage local
    • Failover complet

. L’usage des dictionnaires :

  • DYM :
    • Comportements utilisateur
    • Contenu de l'inde
  • Suggest :
    • Comportement utilisateurs (encore en pré-production, production prévue dans 3 semaines)
  • Scoring :
    • Prise en compte de la fréquence d'utilisation des mots
  • Importance du "Query Server"

. Résultats / bilan

  • Un des organes vitaux de la plateforme :
    • DB / OLTP : cœur
    • FAST : les poumons
      • Question de survie car DB surchargées
  • Courbe de formation
    • Mise en place très itérative :
      • Plus long que prévu (et plus que GoAdv) car moins industrialisé qu'avant rachat par Microsoft
    • Début 2006 : 2 serveurs
      • Uniquement la recherche par mot clef
  • Intégration :
    • Dans le système de monitoring
    • Dans les habitudes / les process
    • L'environnement de dev, pré-prod
  • Cout d'infra sous estimés :
    • Beaucoup de serveurs & stockage

. Indicateurs :

  • Indicateurs globaux :
    • Croissance visiteurs mensuels : 10 M => 59 M
    • Classement des sites eBusiness Nielsen : Entre 2007 et 2008 : 7ème à 2ème (eBay 1er mais décroit)
  • Mesures techniques :
    • Nombre de documents par serveur
    • Temps de réponses
    • Délai de latence entre FAST et la base de données
  • Indicateurs métiers :
    • Taux de clic général dans le search
    • Tx de pages à zéro résultat
    • Nb de résultats par requête
    • Tx de pages avec suggestions
    • Tx de clic sur les suggestions

. Roadmap :

  • Fait :
    • Nouvelle version FAST ESP 5
    • finition nav filtres
    • Compteurs & ventilation / recherche globale
    • DYM
    • Auto-completion
    • mutualisation des pays (ES + US fait, avec FR à l'étude)
  • A faire :
    • Enrichissement des nav par filtre
    • Boutiques & inventaire
    • Amélioration du temps de latence & temps de réponse
    • Dictionnaires : nom propre / marques / synonymes
    • (indexation des annonces) : mais 200 M d'annonces
    • Qualité des données
    • Enrichissement / structuration des données à l'indexation

. ROI

  • Croissance compliquée sans FAST :
    • Système très évolutif
    • Croissance n'est plus une crainte
    • Alignement avec les objectifs stratégiques
    • Temps de réponses meilleurs
  • Dégage du temps pour constuire le bizzness
  • Fonctionnalités inaccessibles avec un DBMS

. Les conseils de PriceMinister :

  • Démarche itérative
    • Richesse fonctionnelle
    • Découper les projets
      • Ex : le DYM mal réglé peut tout planter
  • Prestation d'accompagnement
  • Indicateurs business et techniques sont importants

. Questions :

  • Typologies de documents :
    • Plutôt très petit plus ou moins riche
      • Référence SINET pour structuration de certains produits (informatiques)
      • Mais beaucoup moins pour d'autres
  • Requêtes transfrontalières :
    • Très peu de cas d'usage en fait
    • Possibilité de requêter en plusieurs pays possibles
    • Par contre, la mutualisation actuelle n'est pas dans cette objectif, mais plutôt d'un point de vue consolidation des infrasctructures
  • Migration vers nouvelle version :
    • Plus facile que ce que FAST craignait
    • Le début d'implémentation a été rapide
    • Le fine tuning sur la nouvelle architecture a pris du temps
    • Pas de reprise de contenu : réindexation des contenus est plus facile et est utilisé très régulièrement par PriceMinister (24H)
  • Bases de données : Oracle :-)

Est très bon retour cas, très ouvert !

Pierre Vivier-Merle

Posted: mercredi 27 janvier 2010 13:33 par pierre
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Merci par Blog de Jérémy Jeanson le 10-01-2019, 20:47

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01