Transcript
Page 1: Concevoir des applications SharePoint basées sur la recherche

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

Page 2: Concevoir des applications SharePoint basées sur la recherche

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/

Page 3: Concevoir des applications SharePoint basées sur la recherche

www.sharepointsummit.org

Concept et définition

Démo

Agenda

Développeurs Architectes

Page 4: Concevoir des applications SharePoint basées sur la recherche

www.sharepointsummit.org

Concept et définitions

Approches

Exemples

Outils

Page 5: Concevoir des applications SharePoint basées sur la recherche

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

Page 6: Concevoir des applications SharePoint basées sur la recherche

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

Page 7: Concevoir des applications SharePoint basées sur la recherche

www.sharepointsummit.org

Deux approches…Trouvabilité

Volumétrie

Par métadonnées

Par emplacement

Concept

Page 8: Concevoir des applications SharePoint basées sur la recherche

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

Page 9: Concevoir des applications SharePoint basées sur la recherche

www.sharepointsummit.org

Réalisation avec SharePoint 2010

Configurations

Composants

Démos

Page 10: Concevoir des applications SharePoint basées sur la recherche

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

Page 11: Concevoir des applications SharePoint basées sur la recherche

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

Page 12: Concevoir des applications SharePoint basées sur la recherche

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

Page 13: Concevoir des applications SharePoint basées sur la recherche

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

Page 14: Concevoir des applications SharePoint basées sur la recherche

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

Mail

É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

Page 15: Concevoir des applications SharePoint basées sur la recherche

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

Page 16: Concevoir des applications SharePoint basées sur la recherche

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

Page 17: Concevoir des applications SharePoint basées sur la recherche

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

Page 18: Concevoir des applications SharePoint basées sur la recherche

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

Page 19: Concevoir des applications SharePoint basées sur la recherche

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

Page 20: Concevoir des applications SharePoint basées sur la recherche

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é

Page 21: Concevoir des applications SharePoint basées sur la recherche

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

Page 22: Concevoir des applications SharePoint basées sur la 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

Page 23: Concevoir des applications SharePoint basées sur la 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

Page 24: Concevoir des applications SharePoint basées sur la 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

Page 25: Concevoir des applications SharePoint basées sur la recherche

www.sharepointsummit.org

Perspectives avec SharePoint 2013

Configurations

Composants

Comparatifs

Page 26: Concevoir des applications SharePoint basées sur la recherche

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

Page 27: Concevoir des applications SharePoint basées sur la recherche

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

Page 28: Concevoir des applications SharePoint basées sur la recherche

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

Page 29: Concevoir des applications SharePoint basées sur la recherche

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

Page 30: Concevoir des applications SharePoint basées sur la recherche

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

Page 31: Concevoir des applications SharePoint basées sur la recherche

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

Page 32: Concevoir des applications SharePoint basées sur la recherche

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

Page 33: Concevoir des applications SharePoint basées sur la recherche

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

Page 34: Concevoir des applications SharePoint basées sur la recherche

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

Page 35: Concevoir des applications SharePoint basées sur la recherche

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

Page 36: Concevoir des applications SharePoint basées sur la recherche

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

Page 37: Concevoir des applications SharePoint basées sur la recherche

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

Page 38: Concevoir des applications SharePoint basées sur la 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

Page 39: Concevoir des applications SharePoint basées sur la 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

Page 40: Concevoir des applications SharePoint basées sur la recherche

www.sharepointsummit.org

Cas d’étude avec SharePoint 2013

Page 41: Concevoir des applications SharePoint basées sur la recherche

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

Page 42: Concevoir des applications SharePoint basées sur la recherche

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

Page 43: Concevoir des applications SharePoint basées sur la recherche

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

Page 44: Concevoir des applications SharePoint basées sur la recherche

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

Page 45: Concevoir des applications SharePoint basées sur la recherche

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


Top Related