SharePoint Online 內容不會顯示在 SharePoint 內部部署搜尋中
問題
請考慮下列情節:
您可以設定輸出混合式搜尋,以從 SharePoint 2013 內部部署環境中的 SharePoint Online 傳回結果。
當使用者從 SharePoint 2013 內部部署網站執行查詢時,只會顯示來自 SharePoint 2013 內部部署環境的結果。 SharePoint Online 不會傳回任何結果。
系統管理員會編輯與結果來源相關聯的查詢規則。 然後,系統管理員會從結果區塊開啟查詢產生器。 不過,這會觸發下列錯誤:
1 3/4 System.Net.WebException:要求已中止:要求已取消。 -->Microsoft.SharePoint.IdentityModel.OAuth2.SPOAuth2ErrorResponseException:遠端伺服器傳回錯誤: (404) 找不到。 at Microsoft.SharePoint.IdentityModel.OAuth2.SPOAuth2Client.GetResponse (Uri stsurl, OAuth2AccessTokenRequest message) at Microsoft.SharePoint.IdentityModel.OAuth2.SPOAuth2Client.RequestOAuthToken (Uri stsUrl.OAuth2AccessTokenRequest 要求) 在 stslnfo,OAuth2EndpointIdentity endpointldentity) at Microsoft.SharePoint.IdentityModel.OAuth2.SPOAuth2SecurityTokenManager.GetRawBearerToken (String nameldentifier, SPSecurityTokenServiceConnectionInformation stslnfo.
此外,統一記錄服務 (ULS) 記錄中也會記錄下列例外狀況:
An exception occurred during OAuth2 request to <url specific to your site>
The remote server returned an error: (404) Not Found.
at System.Net.HttpWebRequest.GetResponse()
at Microsoft.SharePoint.IdentityModel.OAuth2.SPOAuth2Client.GetResponse(Uri stsUrl,
OAuth2AccessTokenRequest message)
解決方案
若要解決此問題,請判斷 Search Service 應用程式 Proxy 是否以數據分割模式部署。 如果是,請移除 Proxy,然後重新建立 Proxy,而不使用數據分割模式。
筆記
當內部部署搜尋服務 應用程式 Proxy 以數據分割模式部署時,Microsoft 365 不支援傳入混合式搜尋查詢。
遵循最佳操作作法並執行備份,然後再遵循下列步驟。 如需詳細資訊,請移至在 SharePoint Server 中備份 搜尋服務 應用程式。
若要這樣做,請在 SharePoint 管理命令介面中遵循下列步驟。
取得 Search Service 應用程式的識別碼。 若要這樣做,請執行下列 Cmdlet:
$ssa=Get-SPEnterpriseSearchServiceApplication
取得 Search Service 應用程式 Proxy 的識別碼。 若要這樣做,請執行下列 Cmdlet:
$ssaproxy=Get-SPServiceApplicationProxy –identity <guid>
注意 服務應用程式 Proxy GUID 對每個伺服器數位都是唯一的。 執行 Get-SPServiceApplicationProxy Cmdlet,並記下搜尋服務應用程式 Proxy 的 GUID。
檢閱 $ssaproxy.properties 結果。 Proxy 應該列為分割區。 如果是這種情況,請移至步驟 4 以更新 Proxy 屬性。
更新 Proxy 屬性。 若要這樣做,請執行下列 Cmdlet:
$proxy = get-spenterprisesearchserviceapplicationproxy $proxy.Properties["Microsoft.Office.Server.Utilities.SPPartitionOptions"] = 0 $proxy.Update() $ssa = get-spenterprisesearchserviceapplication $ssa.SetProperty("IgnoreTenantization",1) $ssa.Update()
完成這些步驟之後,請檢查問題是否已解決。 否則,請移至步驟 5 以移除並重新建立 Proxy。
拿掉 Search Service 應用程式 Proxy。 若要這樣做,請執行下列 Cmdlet:
Remove-SPServiceApplicationProxy $ssaproxy
建立新的 Search Service 應用程式 Proxy。 若要這樣做,請執行下列 Cmdlet:
New-SPEnterpriseSearchServiceApplicationProxy -SearchApplication $ssa -Name "Search Service Application Proxy"
遵循這些步驟之後,SharePoint 2013 內部部署搜尋伺服器數組應該會開始從 SharePoint Online 傳回結果。
其他相關資訊
如需詳細資訊,請移至 瞭解 SharePoint Server 2013 中的多租使用者。
是否仍需要協助? 請前往 Microsoft 社群。