Freigeben über


Erstellen eines benutzerdefinierten Indizierungskonnektors

Letzte Änderung: Mittwoch, 21. April 2010

Gilt für: SharePoint Server 2010

Inhalt dieses Artikels
Codieren der Assembly
Erstellen der BCS-Modelldatei
Bereitstellen des benutzerdefinierten Indizierungskonnektors

In Microsoft SharePoint Server 2010-Suche werden externe Daten mithilfe von Microsoft Business Connectivity Services (BCS) durchforstet und indiziert. Wenn Ihr externes System nicht direkt von Business-Konnektivitätsdienste (Business Connectivity Services) unterstützt wird, können Sie das externe System über Business-Konnektivitätsdienste (Business Connectivity Services) verfügbar machen, indem Sie Code zur Erstellung eines Webdiensts, einer .NET-Konnektivitäts-Assembly oder eines benutzerdefinierten Indizierungskonnektors schreiben. Wenn das Entitätsmodell im externen System dynamisch ist, benutzerdefinierte Typen aufweist und umfangreich ist, sollten Sie erwägen, ob Sie einen benutzerdefinierten Konnektor für diesen Datenquellentyp erstellen. Weitere Informationen finden Sie unter Unterschiede zwischen der Verwendung des .NET-Assembly-Konnektors und dem Erstellen eines benutzerdefinierten Konnektors.

In diesem Thema werden die Voraussetzungen für die Erstellung eines benutzerdefinierten Indizierungskonnektors für SharePoint Server-Suche beschrieben und folgende Aufgaben erläutert:

  • Codieren der Assembly für den benutzerdefinierten Indizierungskonnektor

  • Erstellen der Business-Konnektivitätsdienste (Business Connectivity Services)-Modelldatei

  • Bereitstellen des benutzerdefinierten Indizierungskonnektors

TippTipp

Informationen zum Erstellen von Webdiensten und .NET-Konnektivitäts-Assemblys für Business-Konnektivitätsdienste (Business Connectivity Services) finden Sie unter Erstellen von .NET-Verbindungsassemblys und Webdiensten.

Codieren der Assembly

Sie müssen folgende Schritte in dem Code ausführen, den Sie für die Assembly für den benutzerdefinierten Indizierungskonnektor schreiben:

  • Implementieren Sie die erforderlichen Konnektorframeworktypen.

  • Definieren Sie die externen Inhaltstypen.

  • Implementieren Sie Methoden für SpecificFinder- und Finder-Vorgänge.

Implementieren der erforderlichen Konnektorframeworktypen

Das SharePoint Server-Suche-Konnektorframework bietet die folgenden Typen, für die Sie in der Assembly für den benutzerdefinierten Indizierungskonnektor Implementierungen bereitstellen müssen:

Diese Typen befinden sich im Microsoft.Office.Server.Search.Connector.BDC-Namespace. Sie müssen einen Verweis auf die Dateien Microsoft.Office.Server.Search.Connector.dll und Microsoft.BusinessData.dll hinzufügen, um die Konnektorframeworktypen in der Assembly für den benutzerdefinierten Indizierungskonnektor verwenden zu können. Im Folgenden wird beschrieben, wie Sie diese Aufgabe in der integrierten Microsoft Visual Studio 2010-Entwicklungsumgebung (integrated development environment, IDE) ausführen.

So fügen Sie die Verweise hinzu

  1. Wenn das Projekt für den benutzerdefinierten Indizierungskonnektor in der Visual Studio-IDE geöffnet ist, klicken Sie im Menü Projekt auf Verweis hinzufügen.

  2. Wählen Sie auf der Registerkarte .NET die Verweise mit den folgenden Komponentennamen aus, und klicken Sie dann auf OK:

    • Microsoft Search-Komponente

      Nun sollten Sie auf der Registerkarte .NET zwei Einträge mit dem Komponentennamen Microsoft Search-Komponente sehen. Wählen Sie den Eintrag mit dem Pfad %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\\ISAPI\Microsoft.Office.Server.Connector.dll in der Pfadspalte aus. Fehlt dieser Eintrag auf der Registerkarte .NET des Dialogfelds Verweise hinzufügen, müssen Sie den Verweis über die Registerkarte Durchsuchen hinzufügen, indem Sie den Pfad zur Datei Microsoft.Office.Server.Search.Connector.dll verwenden.

    • Microsoft SharePoint Foundation Business Data

      Fehlt dieser Eintrag auf der Registerkarte .NET des Dialogfelds Verweise hinzufügen, müssen Sie den Verweis über die Registerkarte Durchsuchen hinzufügen. Die Assembly für diese Komponente, Microsoft.BusinessData.dll, befindet sich am gleichen Speicherort wie Microsoft.Office.Server.Search.Connector.dll.

"StructuredRepositorySystemUtility"-Klasse

Die Assembly muss eine Klasse enthalten, die von der StructuredRepositorySystemUtility-Klasse abgeleitet ist, welche eine Teilimplementierung der ISystemUtility-Schnittstelle darstellt. Diese Klasse implementiert die ExecuteStatic(IMethodInstance, ILobSystemInstance, [], IExecutionContext)-Methode, die die Logik für die Art und Weise der Rückgabe der Typen aus dem externen System für SharePoint Server-Suche definiert.

"LobUri"-Klasse

Die Assembly muss eine Klasse enthalten, die von der LobUri-Klasse abgeleitet ist, welche eine Implementierung der ILobUri-Schnittstelle ist. Diese Klasse ordnet die URLs während der Übergabe von der Suchdienstanwendung an Business-Konnektivitätsdienste (Business Connectivity Services) zu.

"INamingContainer"-Schnittstelle

Die Assembly muss eine Klasse enthalten, die die INamingContainer-Schnittstelle implementiert. Diese Klasse ordnet die URLs während der Übergabe vom Business-Konnektivitätsdienste (Business Connectivity Services) an die Suchdienstanwendung zu.

Definieren der externen Inhaltstypen

Erstellen Sie für jeden externen Inhaltstyp, der aus dem externen System zurückgegeben wird, eine Klasse, und definieren Sie die darin enthaltenen Felder. In diesem Schritt definieren Sie das Eigenschaftsschema eines externen Inhaltstyps.

Implementieren von Methoden für Finder- und SpecificFinder-Vorgänge

Die Assembly muss Methodenimplementierungen für den Finder-Vorgang und den SpecificFinder-Vorgang bereitstellen. Der Finder-Vorgang gibt alle Elemente aus dem externen System zurück. Weitere Informationen finden Sie unter Implementieren einer Suche. Der SpecificFinder-Vorgang gibt alle Details für ein bestimmtes Element aus dem externen System zurück. Weitere Informationen finden Sie unter Implementieren eines SpecificFinders.

Erstellen der BCS-Modelldatei

Sie müssen eine Business-Konnektivitätsdienste (Business Connectivity Services)-Modelldatei für den benutzerdefinierten Indizierungskonnektor erstellen. Informationen zu Business-Konnektivitätsdienste (Business Connectivity Services)-Modelldateien finden Sie unter Erstellen von BDC-Modellen. Ein Beispiel für eine Modelldatei für einen benutzerdefinierten Konnektor finden Sie unter BDC-Modell-Beispiel: Herstellen einer Verbindung mit einem benutzerdefinierten Dateisystemkonnektor.

Das Modell für den benutzerdefinierten Indizierungskonnektor muss die in der folgenden Tabelle angegebenen Eigenschaften enthalten.

Name

Metadatenobjekt

Beschreibung

SystemUtilityTypeName

LobSystem

Gibt den vollqualifizierten Namen der Klasse in der Assembly für den benutzerdefinierten Indizierungskonnektor an, die aus der StructuredRepositorySystemUtility-Klasse erbt.

InputUriProcessor

LobSystem

Gibt den Namen der Klasse in der Assembly für den benutzerdefinierten Indizierungskonnektor an, die aus der LobUri-Klasse erbt.

OutputUriProcessor

LobSystem

Gibt den Namen der Klasse in der Assembly für den benutzerdefinierten Indizierungskonnektor an, die die INamingContainer-Schnittstelle implementiert.

Bereitstellen des benutzerdefinierten Indizierungskonnektors

Nachdem Sie den benutzerdefinierten Indizierungskonnektor bereitgestellt haben, müssen Sie ihn mit der Suchdienstanwendung registrieren und dann eine Inhaltsquelle zum Durchforsten der externen Daten erstellen.

So registrieren Sie den benutzerdefinierten Indizierungskonnektor

  1. Installieren Sie die Assembly für den benutzerdefinierten Indizierungskonnektor im globalen Assemblycache auf dem Anwendungsserver. Weitere Informationen finden Sie unter How to: Install an Assembly into the Global Assembly Cache.

  2. Kopieren Sie die Business-Konnektivitätsdienste (Business Connectivity Services)-Modelldatei auf den Anwendungsserver.

  3. Öffnen Sie die SharePoint 2010-Verwaltungsshell auf dem Anwendungsserver. Informationen zur Verwendung dieses Tools finden Sie unter Verwalten von Dienstanwendungen mit der SharePoint 2010-Verwaltungsshell.

  4. Führen Sie an der Eingabeaufforderung den folgenden Befehl aus:

    $searchapp = Get-SPEnterpriseSearchServiceApplication

    Sobald dieser Befehl abgeschlossen ist, geben Sie den folgenden Befehl ein und führen ihn aus:

    New-SPEnterpriseSearchCrawlCustomConnector -SearchApplication $searchapp -protocol ProtocolName -ModelFilePath "\\ServerName\FolderName\ModelFileName.xml" -Name Name

  5. Fügen Sie dem Anwendungsserver den folgenden Registrierungsschlüssel hinzu:

    [HKEY_LOCAL_MACHINE]\ SOFTWARE\Microsoft\Office Server\14.0\Search\Setup\ProtocolHandlers\ProtocolName

  6. Legen Sie den Wert des im vorigen Schritt erstellten Registrierungsschlüssels auf OSearch14.ConnectorProtocolHandler.1 fest.

  7. Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, und führen Sie sie aus:

    1. net stop osearch14

    2. net start osearch14

So erstellen Sie eine Inhaltsquelle

  1. Klicken Sie auf der Seite Suchverwaltung auf Inhaltsquellen und dann auf Neue Inhaltsquelle.

  2. Geben Sie einen Namen für die Inhaltsquelle ein, und klicken Sie unter Inhaltsquellentyp auf Benutzerdefiniertes Repository.

  3. Wählen Sie im Abschnitt Repositorytyp das Protokoll für den benutzerdefinierten Indizierungskonnektor aus.

  4. Geben Sie in Startadressen die Startadresse basierend auf dem Protokoll für den benutzerdefinierten Indizierungskonnektor an.

  5. Wählen Sie Vollständige Durchforstung der Inhaltsquelle starten aus, und klicken Sie dann auf OK.

Siehe auch

Konzepte

Codebeispiel: MyFileConnector Custom Indexing Connector

Konnektorframework der SharePoint Server-Suche

Business Connectivity Services: Vorgehensweisen und exemplarische Vorgehensweisen

Weitere Ressourcen

Beispiel: Benutzerdefinierter Indizierungskonnektor "MyFileConnector"