sharecamp 2013 - custom indexing connectors
DESCRIPTION
Session "ShareCamp 2013 - Custom Indexing Connectors" vom ShareCamp 2013 in Unterschleißheim.TRANSCRIPT
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]
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
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
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
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• …
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
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, …)• …
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
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
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)
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
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
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
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
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
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
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
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
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
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“
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
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
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
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, …
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
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!
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
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
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)”)
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.
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