SharePoint Cloud Hybrid Search

Das Moorhuhn ist so ein Kandidat für die Cloud Hybrid Search. Wer kennt die Moorhuhnjagd nicht? Aber wer kennt sie nicht nur von dem Spiel? Eigentlich sind Moorhühner recht respektable Tiere. Sie leben auf den Britischen Inseln und in Skandinavien, ernähnren sich von Birkenknospen, Wacholderbeeren und Preiselbeeren. Und aus halbwegs aktuellem Anlass: Die Moorhuhnjagd beginnt traditionell immer am 12. August, dem „Glorious 12“).

Die Cloud Hybrid Search macht das möglich, was bisher unmöglich war: Remote Crawler und lokale Indexe. Aber warum? Galt nicht bisher die Federated Search als bester Ansatz? Alles lokal, Crawling und Index? Nun ja. Wenn ich den Index-Build abtrenne vom Crawling, habe ich verschiedene Vorteile:

  • Geschwindigkeit
  • Eigene Regeln für die Transformation
  • Bessere Integration mit lokalen Quellen

Und eigentlich nur einen Nachteil:

  • Mehr Storage-Bedarf

Daher hat Microsoft die Cloud Hybrid Search auf den Weg gebracht, die genau nach dem Schema funktioniert:

Das heisst, ich integriere die On-Premise-SharePoint-Installation mit der SharePoint-Online-Welt. Da die Search aber auf access based enumeration basiert, ist ein Sync von Benutzerdaten unverzichtbar. Das macht aktuell das Azure Active Directory Connect Utility. Es muss installiert werden. Hintergrund ist, dass Benutzeridentitäten zuerst dehydriert und dann in der Cloud rehydriert, also wieder zu vollwertigen Benutzern aufgepumpt werden. Damit das gelingt, werden bestimmte Attribute benötigt.

Je nach verwendetem Tool sind die Schritte auch im MSDN beschrieben.

Nun müssen wir auf dem On-Premise-SharePoint eine cloudfähige Search anlegen:

New-SPEnterpriseSearchServiceApplication -Name <SearchServiceAppName -ApplicationPool <AppPool -DatabaseServer <DatabaseServerName> -CloudIndex $true  

Im SharePoint Escalation Services Team Blog werden von Microsoft Beispiel-PowerShell-Scripts bereitgestellt.

Den Erfolg können wir einfach prüfen:

Add-PSSnapin Microsoft.SharePoint.Powershell
$ssa = Get-SPEnterpriseSearchServiceApplication     

Get-SPEnterpriseSearchTopology -Active -SearchApplication $ssa     

Get-SPEnterpriseSearchStatus -SearchApplication $ssa -Text |ft Name, state,Partition,Host -AutoSize     

$ssa.CloudIndex     

Achtung: Ggf. werdet ihr mehrere Search Apps haben, dann muss man

$ssa = $ssa[0]

noch einfügen, um die erste Search App zu erhalten.

Jetzt brauchen wir On Premise noch zwei Voraussetzungen:

Der Test, dass alles ok läuft, wäre:

import-module msonline
import-module msonlineextended  

Das heisst, dass ich mit PowerShell zu Azure verbinden kann.

On Boarding

Jetzt wird es ernst, es gibt insgesamt vier On Boarding Stages:

###Get-HybridSSA

Dieser Stage schaut, dass alle Parameter stimmen

###Prepare-Environment

Dieser Stage schaut, dass alle Voraussetzungen installiert sind.

###Connect-SPFarmToAAD

In diesem Stage wird OAuth mit Azure konfiguriert und der ACS-Proxy wird lokal installiert. Zudem gibt es eine SharePoint-Online-Verbindung als eigenen Endpoint.

###Add-ServicePrincipal

Jetzt wird es ernst, der Office 365 Service Principal wird zur lokalen Farm hinzugefügt, gleichzeitig wird der SPN in Azure für die On Premise URL gesetzt. Damit ist die Federation besiegelt.

Der finale Screenshot sollte so aussehen:

Dann ist alles ok und die Content Sources können eingebunden werden.

Mit dieser Technik kann ich SharePoint On Premise und Online verbinden und das Beste aus beiden Welten herausholen. Z.B., dass es ein Online- und ein sozusagen Offline-(bis hin zu sehr Offline)-Moorhuhn gibt.

One thought on “SharePoint Cloud Hybrid Search

Hinterlassen Sie eine Antwort