concevoir des applications sharepoint basées sur la recherche
Embed Size (px)
DESCRIPTION
Concevoir des applications SharePoint basées sur la rechercheTRANSCRIPT

Concevoir des applications pilotées par la recherche avec SharePoint 2010 et perspectives avec SharePoint 2013
Franck Cornu & Louis-Philippe Lavoie– Spécialistes SharePoint, Groupe GSoft

www.sharepointsummit.org
Franck CornuConsultant SharePoint depuis 3 ans
Analyse et architecture d’informationDéveloppementInfrastructure
Vos hôtes
Louis –Philippe Lavoie
Consultant SharePoint depuis 7 ans
Conseil et ArchitectureDéveloppement
http://www.gsoft-group.com/frhttp://spdynamite.net/

www.sharepointsummit.org
Concept et définition
Démo
Agenda
Développeurs Architectes

www.sharepointsummit.org
Concept et définitions
Approches
Exemples
Outils

www.sharepointsummit.org
Qu'est ce qu’une application pilotée par la recherche?
Centrée sur la « Trouvabilité » = accès rapide à l’information pertinente.
Accès par propriétés/caractéristiques plutôt que par emplacement
Basée sur les mécanismes de recherche (requêtes, indexation, crawl)
Définitions

www.sharepointsummit.org
Deux approches…
Navigation par emplacement
VSNavigation par métadonnées
Collections de sitesSitesBibliothèques et listesRépertoires
Types de contenusMétadonnées gérées
Trouvabilité de l’information
Composants de
présentation
Concept

www.sharepointsummit.org
Deux approches…Trouvabilité
Volumétrie
Par métadonnées
Par emplacement
Concept

www.sharepointsummit.org
Les sites commerciaux:
Objectif: Trouver ce que l’on cherche rapidement sous peine d’une perte d’adhésion des utilisateurs
Quelques exemples

www.sharepointsummit.org
Réalisation avec SharePoint 2010
Configurations
Composants
Démos

www.sharepointsummit.org
KQL *Keyword Query Language
SQLSQL Query Language
FQLFAST Query Language
Search Core Results *Afficher des résultats mis en forme
Refinement Panel *Naviguer par raffinement successifs
Advanced Search BoxCréer des requête complexes
Search BoxSaisir les requêtes
Crawled/Managed
Properties*Rendre disponible l’information
Scopes*Isoler un sous ensemble de résultats
Content SourcesCibler le contenu à analyser
Crawl RulesContrôler l’analyse
Synonyms *Associer des termes à la requête
Langages
Composants
Configurations
* Composants clés du search driven
URL *Formaliser la requête Web
Best Bets*Promouvoir des résultats
La recherche dans SharePoint 2010
Ranking model*Modifier la pertinence des résultats

www.sharepointsummit.org
Les outils avec SharePoint 2010:
Par métadonnéesPar emplacement
Sear
ch C
ore Res
ults
List
View W
ebPa
rt
Cont
ent Que
ry
Web
Part
Réper
toires
Vues
Colonnes de listes
Types de contenu sites et collections de sites*
Métadonnées gérées
Man
aged
pro
pertie
s
*Inclus colonnes et TC sites/collections de sites
+ R
efine
men
t pa
nel
Search Driven applications
Agrégation de contenu

www.sharepointsummit.org
List View WebpartContent Query
WebPartSearch Core Results +
Refinement Panel
Fonctionnalité
Mise à jour de contenu Instantanée Instantanée Non instantané (durée du crawl)
Personnalisations (Affichage/Comportement)
Faible (XSL , Classe « sealed »)
Forte (XSL, C#) Très forte (XSL, C#)
Flexibilité de filtrage Limitée (Statique) Limitée (Statique) Forte (Dynamique)
Périmètre d’utilisation Listes et bibliothèques
Listes et bibliothèquesSites et collections de sites
Listes et bibliothèquesSites et collections de sitesApplications web
Couplage avec d’autres composants/fonctionnalités
Limitée• Metadata
navigation• Webparts
connections
Faible
Forte• Managed Metadata• ContentOrganizer• Location-Based
Metadata Defaults• Document ID
Service
UtilisationManipulation sur des documents et informations ciblées.
Agrégation de contenu ciblé statique.
Agrégation de contenu ciblé avec filtrage dynamique.
Avantages/Inconvénients

www.sharepointsummit.org
Contexte: Une gestion de projet par secteur et par équipe
Équipe 1 Équipe 2
Documents
Projets
Documents
Projets
Marketing
Annonces
PortailContent Organizer
Location-Based Metadata Defaults
Column default value
ListView WebpartsCQWP
Remontée d͛�informations
Classification de l͛�information
Search Core ResultsRefinement PanelSearch Box
Drop Off Library
Fonctionnalités annexes SharePoint 2010
Cas d’exemple

www.sharepointsummit.org
Types de données source
Crawled property Inclus dans l’index
Managed property Requête Résultats attendu
Élément de liste
ows_Domaine(Text) Non DomaineDomaine:«Marketing»
Élément de liste « Projet 1 »
Document Word
Élément de liste
Office:4(Text)Mail:6(Text)Author(Text)
Oui AuthorAuthor:«Jean Bon»«Jean Bon»
Document WordMailÉlément de liste
Élément de liste ows_taxId_Domaine(Text) Non owstaxIdDomaine
owstaxIdDomaine:«Marketing»
Élément de liste « Projet 1 »
Auto
Auto
Auto
Manuel
Manuel
Auto
1
2
3
Crawl Crawl
Crawled/Managed properties
Il est également possible de créer des managed properties automatiquement

www.sharepointsummit.org
Mots clés libres (mot ou phrase) (case insensitive)
Opérateur wildcard (*) Par défaut correspondance exacte Diacritics insensitive Pas de recherche multilingue!
Restrictions sur des propriétés
<ManagedPropertyName><Operator*><Value>
Opérateurs logiques (AND, OR, NOT)
Exclusion, Inclusion (« + », « - »)
market*interna* marketing
Domaine: « Marketing »
* Selon le type de la propriété
KQLLangages

www.sharepointsummit.org
Permet d’isoler un sous ensemble de résultats selon des règles
Managed properties Url ou Source de contenu
« Scope » est une managed property comme les autres
ScopesConfiguration

www.sharepointsummit.org
Permet une complémentarité entre les termes de recherche
« replacement* » et « expansion »
Modification au niveau de la ferme (sur chaque serveur) Outils disponibles sur internet (lien)
Permet de simuler la recherche multilingue * Que pour SharePoint 2010
Configuration
Synonyms

www.sharepointsummit.org
Permet une de promouvoir un ou plusieurs résultats en fonction de mots clés
Uniquement des url• Titre• Description
Modification au niveau de la collection de sites (« mots clés de recherche »
Configuration
Best Bets

www.sharepointsummit.org
Permet de modifier la pertinence des résultats de recherche (utilise la méthode BM25)
- Neuf modèles par défaut (non modifiables)
Possibilité de définir ses propres modèles via XML
Get-SPEnterpriseSearchServiceApplication | New-SPEnterpriseSearchRankingModel –RankingModelXML {RankingModel.xml}
Utilisation en SharePoint 2010
Dans la query string: &rm={RankingModel ID}
Dans les propriétés XML du Search Core Results « DefaultRankingModelID »
Récupération des IDS des ranking models via PowerShell:
Get-SPEnterpriseSearchServiceApplication -identity <Search Service Application Name> | Get-SPEnterpriseSearchRankingModel
Configuration
Ranking models

www.sharepointsummit.org
Un ranking model est défini par un modèle XML
Paramètres dynamiques (queryDependentFeature)
Attribution de « poids » à certaines managed properties évaluées selon les mots clés de la requête de recherche (ex: « Title », « Department »)
Longueur relative de la propriété (lengthNormalization): Pour ajuster la pertinence relative selon la longueur de contenu d’une managed property (Title vs Body par exemple),
Paramètres statiques (queryIndependentFeature) (FAST Search Server 2010)
Attribution de « poids » à:
Des managed properties arbitraires et non dépendantes de la requête de recherche (ex: « UrlDepth* », « ClickDistance* », « FileType* »)
Des valeurs possibles d’une managed property (categoryFeature ) (Ex: Priority Low/Medium/High)
La langue de la requête (managed property « Language ») (languageFeature)
Attribution des managed properties par PID
Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchMetadataManagedProperty
Configuration
Ranking model
* Fonctionne avec les pages faisant autorité

www.sharepointsummit.org
Composants d’affichage des résultats de recherche
Afficher une vue de données brutes en XML (lien)
Configuration de base simple
Comportement Affichage
Requête fixe Éditeur XSL ( XSLT 1.0)
Ajout de termes à la requête Éditeur de paramètres
Id de requête du composant Propriétés extraites (Managed properties)
…
Search Core ResultsComposants de
recherche

www.sharepointsummit.org
Navigation par raffinements successifs
• Filtres DYNAMIQUES = Managed Properties (Filter Category Definition)
Seuil de raffinement (MetadataThreshold) Nombre de filtres par catégories (NumberOfFiltersToDisplay) Métadonnées gérées (ows_MetadataFacetInfo) Compteur (ShowCounts)
• Propriétés extraites dynamiquement sur la base d’un ensemble de résultats (Accuracy Index)
• Si filtres personnalisés, ne fonctionne pas avec le multilinguisme
• Solutions de contournement (Part 1, Part 2, Part 3, Part 4)
XML
Refinement PanelComposants de
recherche

www.sharepointsummit.org
Formalise la requête Web
• Permet contrôler les requêtes de recherche « User Query » Créer de la navigation piloté par la recherche
Requêtes de recherche prédéfinies
• Simple à construire avec l’outil de recherche avancée SharePoint
« K »: Mots clés de la recherche
« R »: Filtre du Refinement Panel
« S »: Périmètre de recherche
URLComposants de recherche

www.sharepointsummit.org
Réalisation d’ outils complémentaires à la recherche
Créer des interfaces riches
• Gestion de favoris (lien)
• Gestion de requêtes sauvegardées
• Tableau de bords complets
• Graphiques
• ….
KnockoutJS
jQueryUI
AméliorationsPour aller plus loin

www.sharepointsummit.org
Perspectives avec SharePoint 2013
Configurations
Composants
Comparatifs

www.sharepointsummit.org
KQLKeyword Query Language
Search Results *Afficher des résultats mis en forme
Refinement Panel *Naviguer par raffinement successifs
Search NavigationContextualiser la recherche
Éditeur de requêtes * Créer des requêtes
Crawled/Managed
Properties*Rendre disponible l’information
Import/ExportRéutiliser la configuration
Result Sources*Cibler le contenu à rechercher
Client TypeIdentifier la provenance des requêtes
Synonyms *Associer des termes à la requête
Langages
Composants
Configurations
URL *Formaliser la requête Web
Query Rules*Promouvoir des résultats
Search Dictionnary*Gérer les termes de recherche
Result TypesIdentifier les types de résultats
Search BoxSaisir les requêtes
Query SuggestionsProposer des requêtes
Content Search*Afficher des résultats mis en forme
Continous Crawl*Mettre à jour les résultats
La recherche dans SharePoint 2013
* Composants clés du search driven
Ranking model*Modifier la pertinence des résultats
FQL*FAST Query Language

www.sharepointsummit.org
Permet un rafraichissement continuel des données indexées
Continuous Crawl
« Full crawl » et « Incremental crawl » toujours disponibles
Ne fonctionne qu’avec des sites SharePoint comme source de contenu.
Pas de planification. Par défaut aux 15 minutes.
A utiliser quand l’information affichée doit être affichée rapidement.
Exécution parallèle de crawl incrémentaux. (lien)
Réindexation sur demande des librairies et listes
Atténue le frein majeur à l’approche « search driven » par rapport à SharePoint 2010
Incrémental
Continu
Configuration

www.sharepointsummit.org
Le fonctionnement Crawled properties/Managed Properties reste quasiment le même que SharePoint 2010
• ≠ Les colonnes de sites deviennent automatiquement des Managed Properties, pas les colonnes de listes (lien)
• ≠ Caractéristiques ajoutées aux propriétés (Searchable, Refinable, Queryable, etc…)
* Aussi possible de définir au niveau des collections de site
Managed propertiesConfiguration

www.sharepointsummit.org
Managed PropertiesFonctionnalité Propriété(s)/Détail(s) Propriété(s)/Détail(s)
Recherche par texte libre Searchable Inclure dans l’index
Utilisation des propriétés dans les requêtes Queryable Utilisables par défaut
Affichage de la propriété dans les résultats de recherche
RetrievableFetched Properties (Search Core Results)+ XSL
Trier les résultats sur la propriété Sortable Modified Date, Relevance
Propriété disponible pour le raffinement RefinableFilter Category Definition (Refinement Panel) + XSL
Autoriser des valeurs multiples Allow multiple values Allow multiple values
Alias de propriété pour les requêtes Alias
Requêtes pour les utilisateurs anonymes Safe for Anonymous
Prise en compte des accents et de la casse Normalisation des jetons Prise en compte par défaut
Correspondance complète sur la propriété Complete Matching *{terme}* (wildcard)
Extraction automatique des métadonnées Custom entity extraction
∟ Extraction du nom de la compagnie
Company name extraction
Comparatif SharePoint 2010/2013

www.sharepointsummit.org
Équivaut aux périmètres de recherche (scopes) et source de contenu (content source) de SharePoint 2010 *
• Définition au niveau global ou par site (Sources de résultats)• Très faciles à construire avec l’éditeur de requêtes !
* Aussi possible de définir des Result Sources au niveau des collections de site et sites
Langage KQL
Test immédiat
* Scopes toujours supportés
Content sources
Result SourcesConfiguration

www.sharepointsummit.org
Remplace et améliore les best bets de SharePoint 2010
Condition – Action• Permet de promouvoir des résultats en fonction d’une
source de contenu, du contenu de la requête ou d’un type de résultats fréquemment vu.
* Aussi possible de définir au niveau des collections de site et site
Actions résultantes :
Un ou plusieurs résultat en primeur sous forme (Titre, Url, Description) = Best Bets de SharePoint 2010
Un ou plusieurs blocs de résultats provenant de requêtes de recherche
Promotion / démotion de résultats
Query RulesConfiguration

www.sharepointsummit.org
Ajout de nouveaux modèles de « ranking »
- 14 modèles par défaut (non modifiables)
Possibilité de définir ses propres modèles via PowerShell (non documenté à l’heure actuelle). Le schéma XML de SharePoint 2010 n’est pas compatible.
Configuration par l’assistant de construction de requêtes sur la base d’un modèle de ranking existant
Option « Tri » sur le paramètre « Rank » (Query Rules, Result Sources)
Approche différente par rapport à SharePoint 2010
Des modèles généraux associés à des règles dynamiques
Exemple: « Classer les résultats par popularité, mais ajout d’une règle dynamique qui place un certain type de contenu en premier par rapport aux autres (mais toujours classé par popularité)»
Configuration
Ranking models

www.sharepointsummit.org
Permet de gérer les suggestions de requêtes de recherche et les noms d’entreprise à extraire des résultats.
Inclus directement dans le magasin de termes SharePoint
. Query Spelling = « Did you mean? »
Company Inclusions/Exclusions = Extraire ces termes à partir de la valeur d’une managed property pour les proposer en tant que filtres (catégorie « companies »)
Possibilités de définir ses propres extractions via PowerShell (lien).
Search DictionariesConfigurati
on

www.sharepointsummit.org
Custom Entity
ExtractionConfiguration
Extraction automatique de métadonnées à partir du contenu plus général (Texte libre, Titre, etc.).Les valeurs à chercher sont préchargées dans des dictionnaires (1 à
5)Chaque dictionnaire corresponds à une métadonnée gérée
Type Correspondance Casse Nombre
Word Extraction Mot exact 5
Word Part Extraction Partie d’un mot 5
Word Exact Extraction Mot exact 1
Word Part Exact Extraction
Partie d’un mot 1

www.sharepointsummit.org
Au niveau sites et collection de sites
Basé sur une content source et conditions sur des managed properties
Display Template = JavaScript, HTML et CSS
Permet d’associer un modèle d’affichage propre à un type de résultat
Result TypesConfiguration

www.sharepointsummit.org
Permet l’affichage des résultats de recherche
. Assistant de construction de requête
• Utilisation de variable dynamiques (Url parameter, nom de l’utilisateur courant, …)
• Test instantané et choix des raffinement
Utilise les display templates via les Result Types
• Prévisualisation du contenu résultats par défaut (Type FAST SharePoint 2010)
• Mapping des managed properties directement dans le display template (statique)
Search ResultsConfiguration

www.sharepointsummit.org
Permet l’affichage des résultats de recherche (lien)
.
Orienté « Power Users », proche du CQWP• Éditeur de de requêtes (même que Search Results)
Utilise des displays templates également mais à la manière du CQWP
• Mapping des Managed Properties à la volée (= Slots CQWP)
Content Search WebPartComposants de
recherche

www.sharepointsummit.org
Navigation par raffinements successifs
io
Même comportement que sur 2010
Connexion avec un Search Results Webpart
Édition des filtres via un assistant• Prévisualisation instantanée
Configuration des filtres unitaires
• Utilise des display templates
• Filtres = Managed Properties
• Possibilité de changer le nom d’affichage (Display Name)
• Nombre de filtres maximum.
Refinement Panel WebPartComposants de
recherche

www.sharepointsummit.org
Je veux… Composants/Configurations
Spécifier les sources de contenu à analyser
Content sources
Restreindre un sous-ensemble de résultats
Content sources Scopes
Promouvoir des résultats Query Rules Best Bets
Affiner une recherche par mots clés Refinement Panel
Ajouter des filtres de raffinements supplémentaires
Refinement Panel (UI Interface)
Refinement Panel (Filter Category Definition XML)
Afficher des résultats de rechercheSearch Results WebPartContent Search
Search Core Results
Mettre en forme des résultats de recherche
Display templatesXML Configuration (Managed Properties) + XSL
Orienter une recherche pour l’utilisateur
Search Dictionaries Query suggestions (PowerShell)
Équivalence SharePoint 2010/2013

www.sharepointsummit.org
Cas d’étude avec SharePoint 2013

www.sharepointsummit.org
Mise en contexte
Contoso
Finance Marketing HR
\Home.aspx \Home.aspx \Home.aspx
\Home.aspx
Memo
Press Release
News
Job Posting
Product
Report
1 2
Zone Info 1
Zone Info 2
Contoso Inc3

www.sharepointsummit.org
Quelles sont les informations présentes dans mon application?
Comment les informations sont réparties dans mon application?
Au sein de cette répartition, où se trouvent les points d’accès à l’information?
Pour chacune de ces pages
o Quelles sont les types informations possiblement affichables?
o Doivent-elles s'afficher de manière groupée (un type d'information mélangé avec d'autre type au sein d'un
même visuel)?
Pour chacun des regroupements de types ou pour un seul type d'information
Il y-a-t-il des contraintes de comportement?
• A quelles conditions doivent-elles s'afficher?
• Quelles sont les caractéristiques les plus pertinentes sur lesquelles trier l’information
présentée?
• Il y a-t-il une notion de recherche hiérarchique dans l’information?
• Quel comportement si aucune information n’est disponible?
Il y'a-t-il des contraintes d'affichage?
• Quelles sont les propriétés du type à afficher?
• Le type d’information possède-t-il un style graphique particulier?
Quelles actions amènent à l'affichage des différents regroupements ou types d'information?
Guide du petit architecte

www.sharepointsummit.org
Une approche « search driven » permet faciliter l’accès à l’information
Peu importe la version de SharePoint , le principe fondamental reste le même, seuls les outils changent
Attention tout de même à ne pas mélanger le but de chaque outil
S’associe très bien avec un contexte et une approche plus classique
Nécessite une méthodologie structurée pour être efficace
SharePoint 2013 s’oriente clairement vers cette approche
Conclusion

Thank you for your attention!This presentation will be available on the QuebecSharePoint Summit web site after the event.
Merci de votre attention !Cette présentation sera disponible sur le site internet
de SharePoint Summit Québec, après l’événement.
[email protected]@gsoft-group.com

SVP évaluez notre session!Complétez le sondage et courez la chance
de gagner une tablette Surface
Please rate our session!Fill out the survey and get a chance to win a Surface