sharecamp 2013 - custom indexing connectors

31
Externe Systeme in die SharePoint-Suche integrieren mit Custom Indexing Connectors Überblick, Lessons Learned und Offene Fragen Heinrich Ulbricht, Softwareentwickler Communardo Software GmbH @h_ulbricht, [email protected]

Upload: spheinrich

Post on 05-Dec-2014

563 views

Category:

Technology


0 download

DESCRIPTION

Session "ShareCamp 2013 - Custom Indexing Connectors" vom ShareCamp 2013 in Unterschleißheim.

TRANSCRIPT

Page 1: ShareCamp 2013 - Custom Indexing Connectors

Externe Systeme in die SharePoint-Suche integrieren mit Custom Indexing ConnectorsÜberblick, Lessons Learned und Offene Fragen

Heinrich Ulbricht, SoftwareentwicklerCommunardo Software GmbH@h_ulbricht, [email protected]

Page 2: ShareCamp 2013 - Custom Indexing Connectors

SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail [email protected] · www.communardo.de

Heinrich Ulbricht13.04.2013

• Motivation und Einordnung in die SharePoint-Suche• Abgrenzung zur Federated Search• Technischer Überblick• Lessons Learned• Offene Fragen

Agenda

2

Page 3: ShareCamp 2013 - Custom Indexing Connectors

SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail [email protected] · www.communardo.de

Heinrich Ulbricht13.04.2013

3

Motivation und Einordnung in die SharePoint-Suche

Page 4: ShareCamp 2013 - Custom Indexing Connectors

SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail [email protected] · www.communardo.de

Heinrich Ulbricht13.04.2013Worum geht es?

4

• Inhalte aus externen Systemen via SP-Suche verfügbar machen

• Vertraute Ansicht für den Endanwender:

Quelle: SharePoint Server 2010 enterprise search evaluation guide (white paper): http://technet.microsoft.com/en-us/library/ff631150(v=office.14).aspx

Page 5: ShareCamp 2013 - Custom Indexing Connectors

SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail [email protected] · www.communardo.de

Heinrich Ulbricht13.04.2013Externe Systeme: Beispiele

5

• Unternehmenswikis• Ticketsysteme• CRMs• Microblogging-Systeme• …

Page 6: ShareCamp 2013 - Custom Indexing Connectors

SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail [email protected] · www.communardo.de

Heinrich Ulbricht13.04.2013Warum nicht Federated Search? – 1

6

• Federated Search

Quelle: http://en.wikipedia.org/wiki/Microsoft_Search_Server

Page 7: ShareCamp 2013 - Custom Indexing Connectors

SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail [email protected] · www.communardo.de

Heinrich Ulbricht13.04.2013Warum nicht Federated Search? – 2

7

• Keine Integration in die SP-Suche• Verzicht auf die Skalierbarkeit der SharePoint-Suche

• Anfragen werden direkt an das externe System durchgereicht, • Jede Suchanfrage im SP führt zu Belastung des externen Systems• Umgehen der SP-Farm

• Verzicht auf die Enterprise-Features der SharePoint-Suche• Ähnliche Ergebnisse• Duplikatentfernung• Managed Properties (Autor, Stichworte, …)• …

Page 8: ShareCamp 2013 - Custom Indexing Connectors

SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail [email protected] · www.communardo.de

Heinrich Ulbricht13.04.2013Kein Grund das Rad neu zu erfinden

8

Quelle: SharePoint Server 2010 enterprise search evaluation guide (white paper): http://technet.microsoft.com/en-us/library/ff631150(v=office.14).aspx

Feature 

SharePoint Foundation

2010

Search Server 2010 Express

Search Server 201

0

SharePoint Server 2010

FAST Search Server

2010 für SharePoint

Einfache Suche in Websites J J J J JBeste Suchergebnisse   J J J JVisuelle beste Suchergebnisse         JÄhnliche Ergebnisse         JDoppelte Ergebnisse         JSuchbereiche   J J J JVerbesserung der Suche basierend auf Benutzerkontext

        J

Durchforstete und verwaltete Eigenschaften

  J J J J*

Sammelsuche für Abfragen   J J J JAbfragevorschläge   J J J JSortieren von Ergebnissen nach verwalteten Eigenschaften oder Rangfolgeprofilen

        J

Relevanzoptimierung durch Heraufstufen von Dokumenten oder Websites

  J J J J*

Einschränkung von flachen Ergebnissen   J J J JEinschränkung von tiefen Ergebnissen         JDokumentvorschau         JWindows 7-Sammelsuche   J J J JPersonensuche       J JSuche in sozialen Netzwerken       J JIntegration von Taxonomie       J JMehrinstanzenfähiges Hosting       J JUnterstützung für komplexe Webindizierung

        J

Page 9: ShareCamp 2013 - Custom Indexing Connectors

SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail [email protected] · www.communardo.de

Heinrich Ulbricht13.04.2013

Lösung: Erweiterung der SharePoint-Suche

9

Bild-Quelle: SharePoint Server 2010 enterprise search evaluation guide (white paper): http://technet.microsoft.com/en-us/library/ff631150(v=office.14).aspx

Inhalte des

externen Systems

Page 10: ShareCamp 2013 - Custom Indexing Connectors

SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail [email protected] · www.communardo.de

Heinrich Ulbricht13.04.2013

Lösung: Erweiterung der SharePoint-Suche

10

• Möglich mit Hilfe des Connector-Frameworks von SP• SP stellt Schnittstellen bereit, über die Inhalte von

externen Systemen bereitgestellt werden können

Gute Basis: Heutige Vorträge vom Rainer Asbach (Search) und Max Melcher (Search-Driven Applications)

Page 11: ShareCamp 2013 - Custom Indexing Connectors

SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail [email protected] · www.communardo.de

Heinrich Ulbricht13.04.2013

11

Technischer Überblick

Page 12: ShareCamp 2013 - Custom Indexing Connectors

SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail [email protected] · www.communardo.de

Heinrich Ulbricht13.04.2013In der Farm (SP 2010)

12

Quelle: http://technet.microsoft.com/en-us/sharepoint/ff601871.aspx

Page 13: ShareCamp 2013 - Custom Indexing Connectors

SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail [email protected] · www.communardo.de

Heinrich Ulbricht13.04.2013In der Such-Architektur (SP 2010)

13

Bild-Quelle: SharePoint Server 2010 enterprise search evaluation guide (white paper): http://technet.microsoft.com/en-us/library/ff631150(v=office.14).aspx

Page 14: ShareCamp 2013 - Custom Indexing Connectors

SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail [email protected] · www.communardo.de

Heinrich Ulbricht13.04.2013Connector-Framework: Verfügbarkeit

14

• Nicht in SharePoint Foundation 2010 (Quelle: http://technet.microsoft.com/en-us/library/cc560988.aspx)

• SP Foundation 2010 mit Search Server Express funktioniert

Page 15: ShareCamp 2013 - Custom Indexing Connectors

SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail [email protected] · www.communardo.de

Heinrich Ulbricht13.04.2013Suchservice

15

SharePoint Server Search

Service „osearch14“

(MSSearch.exe)

• Crawl-Server:

Search Filter Deamon

(MssDmn.exe)

Search Filter Deamon

(MssDmn.exe)

Search Filter Deamon

(MssDmn.exe)

Search Filter Deamon

(MssDmn.exe)

Custom Indexing

Connector

„Dürfen“ crashen

Page 16: ShareCamp 2013 - Custom Indexing Connectors

SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail [email protected] · www.communardo.de

Heinrich Ulbricht13.04.2013

Grober Überblick Custom Indexing Conn.

16

Inhaltsquelle:protocol1:\\localhost

Registry: Protocol Handler

„protocol1“

GAC: Unser Assembly

SP

XML: Entity Model

Unser CodeDritt-Syste

m

Crawleiner Inhaltsquellestartet

iFilter

Page 17: ShareCamp 2013 - Custom Indexing Connectors

SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail [email protected] · www.communardo.de

Heinrich Ulbricht13.04.2013Inhaltsquelle: Custom Repository

17

Page 18: ShareCamp 2013 - Custom Indexing Connectors

SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail [email protected] · www.communardo.de

Heinrich Ulbricht13.04.2013

• Nach Crawl: Neue Kategorie, Standardname: „Category n“

• Per PowerShell benennbar:• Get-SPEnterpriseSearchMetadataCategory -SearchApplication $ssa -

Identity $propSetId• Set-SPEnterpriseSearchMetadataCategory -Identity $category -Name

“Better Name”

Crawled Properties

18

Page 19: ShareCamp 2013 - Custom Indexing Connectors

SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail [email protected] · www.communardo.de

Heinrich Ulbricht13.04.2013Lernen durch Schmerz

19

Lessons Learned

Page 20: ShareCamp 2013 - Custom Indexing Connectors

SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail [email protected] · www.communardo.de

Heinrich Ulbricht13.04.2013

Steuerung gecrawlter Inhalte: Crawl Rules

20

• Crawl Rules um zu definieren, welche Inhalte gecrawlt werden sollen:• Beispiel: *://*• Groß- und Kleinschreibung wird bei SP 2010 unterschieden -> wichtig,

wenn externes System case-sensitiv ist• Crawlen von URLs mit Query-Parametern muss separat aktiviert werden,

wichtig bei „http://www.contoso.com/?showpage=123• Bei 2013 fehlt „Match Case“

Page 21: ShareCamp 2013 - Custom Indexing Connectors

SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail [email protected] · www.communardo.de

Heinrich Ulbricht13.04.2013Steuerung des Impacts auf ext. System

21

• Impact Rules um die Last auf dem externen System zu steuern:• 2 Modi: „Gleichzeitig gecrawlte Dokumente“ und „Dokumen alle x

Sekunden“• Achtung: „Gleichzeitig gecrawlte Dokumente“ kann minimal auf 2 gesetzt

werden, bei 1 zeigt die Regel keine Wirkung• Prüfung der Wirksamkeit über Performance Counter möglich

Bild-Quelle: http://sharepoint.microsoft.com/blogs/fromthefield/Lists/Posts/Post.aspx?ID=96

Page 22: ShareCamp 2013 - Custom Indexing Connectors

SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail [email protected] · www.communardo.de

Heinrich Ulbricht13.04.2013Steuerung des Impacts auf ext. System

22

• Such-Performance des Search Service:• Get-SPEnterpriseSearchService | Set-SPEnterpriseSearchService –

PerformanceLevel „Reduced“• Reduced: Threads = Prozessoren• PartlyReduced: Threads = 4*Prozessoren (16 Max)• Maximum: wie PartlyReduced, Theads haben Priorität HIGH

• Achtung: Farmweit

Page 23: ShareCamp 2013 - Custom Indexing Connectors

SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail [email protected] · www.communardo.de

Heinrich Ulbricht13.04.2013

Impact überwachen: Performance Monitor

23

• OSS Search Gatherer -> Filtering Threads (4), Idle Threads (2), Performance Level, Documents Filtered Rate; Perf. Reduced

Page 24: ShareCamp 2013 - Custom Indexing Connectors

SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail [email protected] · www.communardo.de

Heinrich Ulbricht13.04.2013Debugging der Konnektoren

24

• Logging ins ULS Log !• Debugging mit VS eher schwierig

• MssDmn.exe• Debugger hält häufig nicht bei Breakpoints• Herausforderung Multithreading

• Crawl Log der Search Service Application• Exceptions sind direkt im Crawl Log sichtbar („Error crawling LOB

contents“)

• Performance Monitor• „OSS Search Gatherer“ -> Filtering Threads, Idle Threads, …

Page 25: ShareCamp 2013 - Custom Indexing Connectors

SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail [email protected] · www.communardo.de

Heinrich Ulbricht13.04.2013Crawl Log interpretieren

25

• „Not modified“ ist immer 0, auch bei inkrementellem Crawl -> ist normal

• Achtung: Aktualisierung des Crawl Logs zeitverzögert, auf Zeitstempel achten oder ins ULS Log schauen

Page 26: ShareCamp 2013 - Custom Indexing Connectors

SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail [email protected] · www.communardo.de

Heinrich Ulbricht13.04.2013Mapping externes System -> SP

26

• Per XML -> „Entity Model File“• Genaue Beschreibung des externen Datenmodells

notwendig• Welche Entitäten existieren (bspw. „Kommentar“)• Welche Eigenschaften haben die Entitäten (bspw. „Autor“)• Wie sieht das Berechtigungsmodell des externen Systems aus?

• Berechtigungsmodell des externen Systems muss auf Windows-Berechtigungsmodell abgebildet werden (ACLs, ACEs) -> die Berechtigungen werden am indizierten Objekt im Index abgelegt (indexed security triming)• Alternative: query-time security trimming

• Abbildung von Nutzern des externen Systems auf SharePoint bekannte Nutzer

• Gut planen!

Page 27: ShareCamp 2013 - Custom Indexing Connectors

SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail [email protected] · www.communardo.de

Heinrich Ulbricht13.04.2013Beispiel: Entity Model

27

Quelle: http://msdn.microsoft.com/en-us/library/dd928406(v=office.12).aspx

Page 28: ShareCamp 2013 - Custom Indexing Connectors

SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail [email protected] · www.communardo.de

Heinrich Ulbricht13.04.2013Zugriff auf das externe System

28

• Connector muss auf das externe System zugreifen können (bspw. Webservice)

• Zugangsdaten können im Secure Store Service hinterlegt werden• Crawl-Account muss Zugriff auf die Target Application im Secure Store

Service haben• Crawl Account ist an der Crawl Rule konfigurierbar:

• Caching von Login-Informationen empfehlenswert, Probleme beim Anmelden mit hoher Frequenz an externen Systemen beobachteh

Page 29: ShareCamp 2013 - Custom Indexing Connectors

SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail [email protected] · www.communardo.de

Heinrich Ulbricht13.04.2013Crawl-Prozess

29

• „Stateless“ Crawl• Stark Multithreaded• Crawl-Ende ist unklar

• Cache-Gültigkeit

• Lange Operationen können zu Timeout führen, die im Crawl-Log sichtbar werden• Anheben des Timeouts in der Farm-Suchkonfiguration prinzipiell möglich

(„Request acknowledgement time (in seconds)”)

Page 30: ShareCamp 2013 - Custom Indexing Connectors

SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail [email protected] · www.communardo.de

Heinrich Ulbricht13.04.2013

30

Danke!Zeit für Offene Fragen.

Page 31: ShareCamp 2013 - Custom Indexing Connectors

SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail [email protected] · www.communardo.de

Heinrich Ulbricht13.04.2013

Ilja Hauß

[email protected]/profile/ihaussTwitter.com/ihauss

Telefon: +49 (351) 833 82-220

Dirk Röhrborn

[email protected]/profile/dirk_roehrbornTwitter.com/DirkRoehrborn

Telefon: +49 (351) 833 82-210

Communardo Software GmbHKleiststraße 10 a01129 Dresdenhttp://[email protected]

Telefon: +49 (351) 833 82-0 Standort Stuttgart

Leinfelder Straße 6470771 Leinfelden-Echterdingen

Telefon: +49 (711) 722 497 09

Kontakt

31