Neue Entwicklungen bei Suchmaschinen und deren Relevanz für Bibliotheken (2)
ShareCamp 2013 - Custom Indexing Connectors
1. 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, Heinrich.Ulbricht@communardo.de
2. Heinrich Ulbricht
Agenda 13.04.2013
• Motivation und Einordnung in die SharePoint-Suche
• Abgrenzung zur Federated Search
• Technischer Überblick
• Lessons Learned
• Offene Fragen
Communardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Seite 2
3. Heinrich Ulbricht
13.04.2013
Motivation und Einordnung in die SharePoint-
Suche
Communardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Seite 3
4. Heinrich Ulbricht
Worum geht es? 13.04.2013
• 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
Communardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Seite 4
5. Heinrich Ulbricht
Externe Systeme: Beispiele 13.04.2013
• Unternehmenswikis
• Ticketsysteme
• CRMs
• Microblogging-Systeme
• …
Communardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Seite 5
6. Warum nicht Federated Search? – 1 Heinrich Ulbricht
13.04.2013
• Federated Search
Quelle: http://en.wikipedia.org/wiki/Microsoft_Search_Server
Communardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Seite 6
7. Warum nicht Federated Search? – 2 Heinrich Ulbricht
13.04.2013
• 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, …)
• …
Communardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Seite 7
8. Heinrich Ulbricht
Kein Grund das Rad neu zu erfinden 13.04.2013
Feature SharePoint Search Search SharePoint FAST Search
Foundation Server 2010 Server 2010 Server 2010 Server 2010
2010 Express für
SharePoint
Einfache Suche in Websites J J J J J
Beste Suchergebnisse J J J J
Visuelle beste Suchergebnisse J
Ähnliche Ergebnisse J
Doppelte Ergebnisse J
Suchbereiche J J J J
Verbesserung der Suche basierend auf J
Benutzerkontext
Durchforstete und verwaltete Eigenschaften J J J J*
Sammelsuche für Abfragen J J J J
Abfragevorschläge J J J J
Sortieren von Ergebnissen nach verwalteten J
Eigenschaften oder Rangfolgeprofilen
Relevanzoptimierung durch Heraufstufen von J J J J*
Dokumenten oder Websites
Einschränkung von flachen Ergebnissen J J J J
Einschränkung von tiefen Ergebnissen J
Dokumentvorschau J
Windows 7-Sammelsuche J J J J
Personensuche J J
Suche in sozialen Netzwerken J J
Integration von Taxonomie J J
Mehrinstanzenfähiges Hosting J J
Unterstützung für komplexe Webindizierung J
Quelle: SharePoint Server 2010 enterprise search evaluation guide (white paper): http://technet.microsoft.com/en-
us/library/ff631150(v=office.14).aspx
Communardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Seite 8
9. Heinrich Ulbricht
Lösung: Erweiterung der SharePoint-Suche 13.04.2013
Inhalte des
externen
Systems
Bild-Quelle: SharePoint Server 2010 enterprise search evaluation guide (white paper): http://technet.microsoft.com/en-
us/library/ff631150(v=office.14).aspx
Communardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Seite 9
10. Heinrich Ulbricht
Lösung: Erweiterung der SharePoint-Suche 13.04.2013
• 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)
Communardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Seite 10
11. Heinrich Ulbricht
13.04.2013
Technischer Überblick
Communardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Seite 11
12. Heinrich Ulbricht
In der Farm (SP 2010) 13.04.2013
Quelle: http://technet.microsoft.com/en-us/sharepoint/ff601871.aspx
Communardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Seite 12
13. Heinrich Ulbricht
In der Such-Architektur (SP 2010) 13.04.2013
Bild-Quelle: SharePoint Server 2010 enterprise search evaluation guide (white paper): http://technet.microsoft.com/en-
us/library/ff631150(v=office.14).aspx
Communardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Seite 13
14. Heinrich Ulbricht
Connector-Framework: Verfügbarkeit 13.04.2013
• Nicht in SharePoint Foundation 2010 (Quelle:
http://technet.microsoft.com/en-us/library/cc560988.aspx)
• SP Foundation 2010 mit Search Server Express funktioniert
Communardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Seite 14
15. Heinrich Ulbricht
Suchservice 13.04.2013
• Crawl-Server:
Search Filter Deamon
(MssDmn.exe)
SharePoint Search Filter Deamon
Server Search (MssDmn.exe)
Custom Indexing
Service
Connector
„osearch14“ Search Filter Deamon
(MssDmn.exe)
(MSSearch.exe)
Search Filter Deamon
(MssDmn.exe)
„Dürfen“ crashen
Communardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Seite 15
16. Heinrich Ulbricht
Grober Überblick Custom Indexing Conn. 13.04.2013
Inhaltsquelle:
Crawl protocol1:localhost
einer Inhaltsquelle
startet Registry: Protocol
Handler „protocol1“
SP GAC: Unser
Assembly
XML: Entity Model
Dritt-
Unser Code
iFilter System
Communardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Seite 16
17. Heinrich Ulbricht
Inhaltsquelle: Custom Repository 13.04.2013
Communardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Seite 17
18. Heinrich Ulbricht
Crawled Properties 13.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”
Communardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Seite 18
19. Heinrich Ulbricht
Lernen durch Schmerz 13.04.2013
Lessons Learned
Communardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Seite 19
20. Heinrich Ulbricht
Steuerung gecrawlter Inhalte: Crawl Rules 13.04.2013
• 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“
Communardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Seite 20
21. Heinrich Ulbricht
Steuerung des Impacts auf ext. System 13.04.2013
• 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
Communardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Seite 21
22. Heinrich Ulbricht
Steuerung des Impacts auf ext. System 13.04.2013
• 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
Communardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Seite 22
23. Heinrich Ulbricht
Impact überwachen: Performance Monitor 13.04.2013
• OSS Search Gatherer -> Filtering Threads (4), Idle Threads
(2), Performance Level, Documents Filtered Rate; Perf.
Reduced
Communardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Seite 23
24. Heinrich Ulbricht
Debugging der Konnektoren 13.04.2013
• 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, …
Communardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Seite 24
25. Heinrich Ulbricht
Crawl Log interpretieren 13.04.2013
• „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
Communardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Seite 25
26. Heinrich Ulbricht
Mapping externes System -> SP 13.04.2013
• 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!
Communardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Seite 26
27. Heinrich Ulbricht
Beispiel: Entity Model 13.04.2013
Quelle: http://msdn.microsoft.com/en-us/library/dd928406(v=office.12).aspx
Communardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Seite 27
28. Heinrich Ulbricht
Zugriff auf das externe System 13.04.2013
• 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
Communardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Seite 28
29. Heinrich Ulbricht
Crawl-Prozess 13.04.2013
• „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)”)
Communardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Seite 29
30. Heinrich Ulbricht
13.04.2013
Danke!
Zeit für Offene Fragen.
Communardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Seite 30
31. Heinrich Ulbricht
Kontakt 13.04.2013
Communardo Software
GmbH
Kleiststraße 10 a
01129 Dresden
http://www.communardo.de
info@communardo.de
Telefon: +49 (351) 833 82-0
Standort Stuttgart
Leinfelder Straße 64
70771 Leinfelden-Echterdingen
Telefon: +49 (711) 722 497 09
Dirk Röhrborn Ilja Hauß
Dirk.roehrborn@communardo.de Ilja.hauss@communardo.de
Xing.com/profile/dirk_roehrborn Xing.com/profile/ihauss
Twitter.com/DirkRoehrborn Twitter.com/ihauss
Telefon: +49 (351) 833 82-210 Telefon: +49 (351) 833 82-220
Communardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (351) 833 82-0 · Mail info@communardo.de · www.communardo.de Seite 31