Hybride Suche für Office 365 und SharePoint Server - Was wirklich geht.

17. November 2014
SharePoint Hybrid Suche

Die Realisierung einer hybriden Suche zwischen Office 365 und SharePoint On-Premise Inhalten wird an verschiedenen Stellen ausgiebig diskutiert. Allerdings bleibt beim Lesen all dieser Informationen über technische Lösungsansätze und Konfigurationsmöglichkeiten die Frage unbeantwortet, was ich als Nutzer bei Umsetzung einer solchen hybriden Suche erhalte und wo (aus Nutzersicht) die Grenzen einer solchen Lösung ergeben. Mit diesem Artikel möchte ich ein wenig Licht ins Dunkel der Möglichkeiten hybrider Suchlösungen bringen.

Für fast alle Unternehmen, die sich mit Cloud im Allgemeinen und Office 365 im Speziellen beschäftigen, steht über kurz oder lang die Frage nach einer einheitlichen und übergreifenden Suche im Raum. Wie lässt sich die vorhandene On-Premise Welt mit der neuen Cloud-Welt so verbinden, dass die technisch bedingte Trennung der Daten und Anwendungen für den Nutzer möglichst wenig sicht- und spürbar wird. 

Durch die relative Ähnlichkeit zwischen den Microsoft On-Premise Lösungen wie SharePoint und Exchange mit den korrespondierenden Office 365 Online Tools, liegt die Erwartung nahe, dass eine nahtlose Integration auch einfach möglich ist. Besonders relevant wird diese nahtlose Integration, wenn es um die Suche nach Informationen geht. Hier möchte ich als Nutzer nicht wissen müssen auf welchem System ein Inhalt liegt, sondern ich möchte in einem Such-Center alle Unternehmensinhalte zugreifen können. Mein Kollege Andreas Gottstein hat in seinem Artikel bereits die verschiedenen Szenarien für hybride Suche mit Office 365 und SharePoint Server beschrieben und die Konfiguration einer speziellen Art der hybriden Suche erklärt.

Verwendet man SharePoint On-Premise und Office 365 parallel und hält in beiden Umgebungen Daten vor, ist man ohne etablierte Hybrid-Suche gezwungen, in zwei verschiedenen Systemen zu suchen. Der Nutzer muss also wissen, was er wo zu suchen und finden hat oder er muss seine Frage immer in zwei Suchumgebungen eingeben. 

Dem schafft die Etablierung einer hybriden Suchlösung Abhilfe. So lässt sich z.B. das SharePoint On-Premise Such-Center nutzen, um die Suchergebnisse sowohl der Office 365 als auch der On-Premise Umgebung anzuzeigen (unidirektional ausgehend). Möchte man hingegen das Such-Center von Office 365 auch zum Anzeigen der On-Premise Inhalte verwenden, nutzt man die unidirektional eingehende Hybridlösung. Sollen Ergebnisse in beiden Such-Centern angezeigt werden, ist auch eine bidirektionale Konfiguration möglich. Zahlreiche weitere Erklärungen zum Thema Hybridlösungen für Office 365 und SharePoint Server finden sich auch im Microsoft Technet. 

Hybridsuche - was wirklich geht

Eine weit verbreitete Erwartungshaltung an die Hybridsuche ist es, eine gemischte Trefferliste aus SharePoint On-Premise und SharePoint Online Inhalten zu erhalten. Hier kommt es recht schnell zu einer gewissen Ernüchterung.

Die hybride Suche liefert keineswegs eine gemischte Trefferliste, sondern ist vielmehr als verteilte Suche (federated search) zu verstehen. Dabei wird die Suchanfrage an den lokalen und den entfernten Suchindex geschickt. Zurück kommen zunächst einmal zwei getrennte Treffermengen, die in vielen Fällen in unterschiedlichen "Such-Tabs" dargestellt werden.

Dies entspricht in den meisten Fällen nicht dem, was sich der Nutzer unter einer Unternehmenssuche vorstellt, da die Ergebnisse nebeneinander stehen und nicht als ein einheitliches Suchergebnis wahrgenommen werden. Stellt sich also die Frage, wie sich das optimieren lässt.

Result Blocks vereinen hybride Suche

Ein Weg, um das zumindest im Ansatz zu lösen, sind Result-Blocks. Die von der hybriden Suche zurückgelieferten Ergebnis-Gruppen (Online & On-Premise) lassen sich über Such-Regeln so konfigurieren, dass die Ergebnisse der entfernten Umgebung als separater Ergebnis-Block innerhalb der lokalen Suchergebnisse dargestellt werden.   

Wir haben nun Suchergebnisse beider Systeme auf einer Seite. Allerdings ist der eingebundene Result-Block nach wie vor eine separate Ergebnismenge, von einer einheitlichen Trefferliste mit einheitlichem Ranking der Ergebnisse sind wir also noch weit entfernt.

Die Einbindung als Result Block wirft darüber hinaus noch weitere Fragen auf:

  • In einem Result Block maximal 10 Treffer anzeigen. Was passiert mit den weiteren Ergebnissen?
  • Wie geht man mit Paging um? Was passiert also, wenn ich auf die zweite Seite blättere?
  • Navigatoren können nur sinnvoll angeboten werden, wenn sie in beiden Suchergebnismengen enthalten sind. Eine Darstellung der Gesamtergebnisse pro Navigator ist nicht sinnvoll möglich.

Eine rundum zufriedenstellende Lösung bieten diese Ansätze der Hybrid-Suche also nicht. Wieso ist es nicht einfach möglich, die Suchergebnisse beider Suchen zu einer einzelnen, nach Relevanz sortierten Ergebnisliste zu verzahnen? Zunächst einmal sieht die Standard-Suche, weder On-Premise noch in der Onlineversion eine solche Verzahnung vor. Möchte man sich hieran probieren, setzt dies mindestens einige Eigenentwicklung voraus. Selbst dann ist eine einheitliche Trefferliste aber nicht ohne weiteres möglich. 

Problematik Ranking

Die Problematik liegt vor allem im Ranking, also der Berechnung der Platzierung der Suchergebnisse innerhalb der Ergebnisliste. In der Regel möchte man die Suchergebnisse nach Relevanz sortiert anzeigen. Die Berechnung der Relevanz eines Treffers und damit der Platzierung innerhalb der Suchergebnisse, unterliegt recht komplexen Algorithmen. Diese Algorithmen berücksichtigen verschiedene Parameter, welche sich immer auf die Daten des Systems beziehen aus dem der Treffer stammt. 

Selbst wenn Online und On-Premise genau die gleichen Algorithmen angewendet werden, haben wir bei der Hybridsuche zwei getrennte Ranking-Berechnungen. Will man die Suchergebnisse mischen, müsste man nun für jede Position in der Ergebnisliste entscheiden, ob ein lokaler oder ein entfernter Treffer relevanter ist. Da der Relevanzwert eines einzelnen Treffers sich aber auf die jeweilige Treffermenge aus dem er stammt bezieht, ist das nicht sinnvoll möglich.

Eine Verzahnung der beiden Treffermengen ist also anhand des Relevanzwertes der Suchergebnisse nicht möglich oder führt zu einer Ergebnisliste, deren Relevanz-Sortierung nicht wirklich sinnvoll ist. 

Alternative Sortierverfahren

Begnügt man sich bei der Suche mit alternativen Sortierungen, wie zum Beispiel dem Änderungsdatum, lässt sich mit einigem Programmieraufwand durchaus eine einheitliche und sinnvolle Trefferliste erzeugen. In den meisten Fällen sollen die Ergebnisse jedoch nach Relevanz sortiert werden. Bleibt zu hoffen, dass Microsoft für diese oft gewünschte Funktion bald eine out-of-the-box Lösung bietet. Nur dann wird die Hybrid-Suche mit einer einzelnen Trefferliste und sinnvollen Ergebnissen möglich sein.

Nun könnte man der Versuchung unterliegen, den Problemen des Verzahnens zweier Treffermengen aus dem Weg zu gehen, indem man einfach nur einen Suchindex verwendet, der die Daten aus beiden Systemen enthält. Dazu würde man dann entweder die On-Premise Daten durch die Online Suche crawlen lassen oder vice versa. Hier kommen aber technische Hürden ins Spiel. Aktuell besteht keine Möglichkeit, On-Premise Inhalte in den Online Suchindex aufzunehmen. Auch ein Crawlen der Online-Inhalte durch das On-Premise System ist nicht uneingeschränkt möglich. Einzig für ausgewählte Bereiche, die als externe Listen veröffentlicht werden, lässt sich über Business Connectivity Services eine Integration in den On-Premise Suchindex erreichen.

Bis Microsoft hier einen besseren Weg anbietet, müssen wir also mit den Limitierungen der hybriden Suche leben. Immerhin lässt sich ja durch die Möglichkeiten der hybriden Suche zumindest schon mal ein einheitlicher Anlaufpunkt für die Suche nach Informationen schaffen. 

Neuen Kommentar schreiben