Optimieren der BDC-Modelldatei für die SharePoint Server-Suche
In diesem Thema finden Sie Informationen zu den Möglichkeiten der Optimierung der BDC-Modelldatei für die SharePoint Server-Suche.
Letzte Änderung: Mittwoch, 13. Oktober 2010
Gilt für: SharePoint Server 2010
Inhalt dieses Artikels
Verwenden der eingebetteten Eigenschafts-E/A beim Abrufen großer Datenmengen
Aufzählungsoptimierung beim Durchforsten externer Systeme
Erhöhen der Durchforstungsgeschwindigkeit mithilfe der "UseClientCachingForSearch"-Eigenschaft
Sicherheit in BDC-Modelldateien
Das BDC-Metadatenmodell enthält Eigenschaften, mit denen speziell die Microsoft SharePoint Server 2010-Suche unterstützt wird. Eine Liste dieser Eigenschaften und ihrer Beschreibungen finden Sie in der Tabelle Suchdienstspezifische Eigenschaften in BDC-Modelldateien unter Konnektorframework der SharePoint Server-Suche. Wenn Sie eine BDC-Modelldatei für ein externes System erstellen möchten, das für die Suche aktiviert werden soll, können Sie die Modelldatei zur Optimierung der Leistung beim Durchforsten externer System bearbeiten.
Verwenden der eingebetteten Eigenschafts-E/A beim Abrufen großer Datenmengen
Wenn für ein einzelnes Element große Datenmengen zurückgegeben werden, sollten Sie für die Rückgabe generell nicht die SpecificFinder-Methode, sondern eine der folgenden Spezialmethoden zum Abrufen der Daten verwenden:
Verwenden Sie die BinarySecurityDescriptorAccessor-Methode, wenn eine Sicherheits-Zugriffssteuerungsliste (Security Access Control List, SACL) anstelle der WindowsSecurityDescriptor-Eigenschaft übergeben wird.
Verwenden Sie zum Übergeben von Datenströmen die StreamAccessor-Methode.
Außer bei einer langen Netzwerkwartezeit ist die Leistung meist besser als bei einem zusätzlichen Abrufvorgang des externen Systems.
Aufzählungsoptimierung beim Durchforsten externer Systeme
Zählen Sie pro Aufruf an das externe System nicht mehr als 100.000 Elemente auf. Lang andauernde Aufzählungen können zwischenzeitliche Unterbrechungen verursachen und den Abschluss einer Durchforstung verhindern. Es wird empfohlen, dass Ihr BDC-Modell die Daten in logischen Ordnern strukturiert, die einzeln aufgezählt werden können (siehe das folgende Beispiel).
Dieses Beispiel veranschaulicht das Aufzählen für eine Datenbanktabelle mit einer Million Zeilen, aber mit einer festen Gruppe von Werten in der Spalte "ColumnA". In diesem Szenario können Sie "ColumnA" als den externen Inhaltstyp betrachten und mithilfe der folgenden SQL-Anweisung einen Enumerator für diese Wertegruppe schreiben.
SELECT DISTINCT( ISNULL(ColumnA,'unknown')) as ColumnA FROM table
Definieren Sie nun mit der folgenden SQL-Anweisung den spezifischen Finder.
SELECT DISTINCT( ISNULL(ColumnA,'unknown')) as ColumnA FROM table where ColumnA = @Value
Schließlich müssen Sie den Zuordnungsnavigationsvorgang wie folgt definieren.
Select * from table where ColumnA=@value
Eine Methode muss binnen zwei Minuten mit der Rückgabe von Ergebnissen beginnen. Andernfalls bricht der Crawler den Aufruf ab. Die Ausführung einer komplexen SQL-Anweisung mit der LIKE-Klausel kann beispielsweise länger als zwei Minuten dauern, was den Crawler zum Abbrechen des Aufrufs veranlassen würde.
Erhöhen der Durchforstungsgeschwindigkeit mithilfe der "UseClientCachingForSearch"-Eigenschaft
Die UseClientCachingForSearch-Eigenschaft beschleunigt vollständige Durchforstungen, indem das Element während der Aufzählung zwischengespeichert wird. Diese Eigenschaft wird auch empfohlen, wenn inkrementelle auf Änderungsprotokollen basierende Durchforstungen implementiert werden, da dadurch inkrementelle Durchforstungen beschleunigt.
![]() |
---|
Wenn Elemente durchschnittlich größer als 30 KB sind, legen Sie diese Eigenschaft nicht fest, da sie eine beträchtliche Anzahl von Cachefehlern verursacht und Leistungsvorteile zunichte macht. |
Sicherheit in BDC-Modelldateien
Wenn das Repository die NTLM-Authentifizierung verwendet, wird empfohlen, für Durchforstungen die PassThrough-Authentifizierung zu aktivieren.
Profilseiten können erfordern, dass Sie den Dienst für Einmaliges Anmelden aufgrund des Delegierungsproblems bei Mehrfachhops auf dem Front-End-Webserver verwenden müssen. Bei Auftreten dieses Problems können Sie die Durchforstung optimieren und gleichzeitig das Erstellen von Profilseiten zulassen, indem Sie zwei ähnliche LobSystemInstance-Instanzen erstellen. Die erste Instanz muss Anmeldeinformationen aus der Authentifizierung für Einmaliges Anmelden verwenden. Diese Instanz darf nicht die ShowInSearchUI-Eigenschaft enthalten. Die zweite Instanz muss die PassThrough-Authentifizierung verwenden und die ShowInSearchUI-Eigenschaft enthalten. Profilseiten verwenden die erste LobSystemInstance-Instanz, der Crawler die zweite Instanz.
![]() |
---|
Dies erfordert, dass Sie die ShowInSearchUI-Eigenschaft auf LobSystemInstance-Ebene anstatt auf LobSystem-Ebene festlegen. |