Udostępnij za pośrednictwem


Zawartość usługi SharePoint Online nie jest wyświetlana w wyszukiwaniu lokalnym programu SharePoint

Problem

Rozpatrzmy następujący scenariusz:

  • Usługa wyszukiwania hybrydowego dla ruchu wychodzącego umożliwia zwrócenie wyników z usługi SharePoint Online w środowisku lokalnym programu SharePoint 2013.

  • Gdy użytkownik wykonuje zapytanie z lokacji lokalnej programu SharePoint 2013, są wyświetlane tylko wyniki ze środowiska lokalnego programu SharePoint 2013. Żadne wyniki nie są zwracane z usługi SharePoint Online.

  • Administrator edytuje regułę zapytania skojarzoną ze źródłami wyników. Następnie administrator otwiera program Query Builder z bloku wyników. Spowoduje to jednak wyzwolenie następującego błędu:

    1 3/4 System.Net.WebException: Żądanie zostało przerwane: żądanie zostało anulowane. -->Microsoft.SharePoint.IdentityModel.OAuth2.SPOAuth2ErrorResponseException: Serwer zdalny zwrócił błąd: (404) Nie znaleziono. at Microsoft.SharePoint.IdentityModel.OAuth2.SPOAuth2Client.GetResponse(Uri stsurl, OAuth2AccessTokenRequest message) at Microsoft.SharePoint.IdentityModel.OAuth2.SPOAuth2Client.RequestOAuthToken(Uri stsUrl. OAuth2AccessTokenRequest request) at stslnfo, OAuth2EndpointIdentity endpointldentity) at Microsoft.SharePoint.IdentityModel.OAuth2.SPOAuth2SecurityTokenManager.GetRawBearerToken(String nameldentifier, SPSecurityTokenServiceConnectionInformation stslnfo.

Ponadto następujący wyjątek jest rejestrowany w dzienniku ujednoliconej usługi rejestrowania (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)

Rozwiązanie

Aby rozwiązać ten problem, ustal, czy usługa wyszukiwania serwer proxy aplikacji została wdrożona w trybie partycji. Jeśli tak było, usuń serwer proxy, a następnie utwórz go ponownie bez użycia trybu partycji.

NOTATKI

  • Platforma Microsoft 365 nie obsługuje przychodzących zapytań wyszukiwania hybrydowego, gdy lokalna usługa wyszukiwania serwer proxy aplikacji jest wdrażana w trybie podzielonym na partycje.

  • Przed wykonaniem tych kroków postępuj zgodnie z najlepszymi rozwiązaniami operacyjnymi i wykonaj kopię zapasową. Aby uzyskać więcej informacji, zobacz Tworzenie kopii zapasowej aplikacji usługa wyszukiwania w programie SharePoint Server.

W tym celu wykonaj następujące kroki w powłoce zarządzania programu SharePoint.

  1. Uzyskaj identyfikator aplikacji usługi wyszukiwania. W tym celu uruchom następujące polecenie cmdlet:

    $ssa=Get-SPEnterpriseSearchServiceApplication
    
  2. Uzyskaj identyfikator serwer proxy aplikacji usługi wyszukiwania. W tym celu uruchom następujące polecenie cmdlet:

    $ssaproxy=Get-SPServiceApplicationProxy –identity <guid>
    

    UWAGA Identyfikator GUID serwera proxy aplikacji usługi jest unikatowy dla każdej farmy. Uruchom polecenie cmdlet Get-SPServiceApplicationProxy i zanotuj identyfikator GUID serwera proxy aplikacji usługi wyszukiwania.

  3. Przejrzyj wyniki $ssaproxy.properties. Serwer proxy powinien być wymieniony jako podzielony na partycje. Jeśli tak jest, przejdź do kroku 4, aby zaktualizować właściwości serwera proxy.

  4. Zaktualizuj właściwości serwera proxy. W tym celu uruchom następujące polecenie cmdlet:

    $proxy = get-spenterprisesearchserviceapplicationproxy
    $proxy.Properties["Microsoft.Office.Server.Utilities.SPPartitionOptions"] = 0
    $proxy.Update()
    $ssa = get-spenterprisesearchserviceapplication
    $ssa.SetProperty("IgnoreTenantization",1)
    $ssa.Update()
    

    Po wykonaniu tych kroków sprawdź, czy problem został rozwiązany. W przeciwnym razie przejdź do kroku 5, aby usunąć i ponownie utworzyć serwer proxy.

  5. Usuń serwer proxy aplikacji usługi wyszukiwania. W tym celu uruchom następujące polecenie cmdlet:

    Remove-SPServiceApplicationProxy $ssaproxy
    
  6. Utwórz nowy serwer proxy aplikacji usługi wyszukiwania. W tym celu uruchom następujące polecenie cmdlet:

    New-SPEnterpriseSearchServiceApplicationProxy -SearchApplication $ssa -Name "Search Service Application Proxy"
    

Po wykonaniu tych kroków lokalna farma wyszukiwania programu SharePoint 2013 powinna zacząć zwracać wyniki z usługi SharePoint Online.

Więcej informacji

Aby uzyskać więcej informacji, zobacz Understanding multi-tenancy in SharePoint Server 2013 (Omówienie wielu dzierżaw w programie SharePoint Server 2013).

Nadal potrzebujesz pomocy? Przejdź do witryny SharePoint Community.