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
![]() |
---|
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
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.
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
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.
Kopieren Sie die Business-Konnektivitätsdienste (Business Connectivity Services)-Modelldatei auf den Anwendungsserver.
Ö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.
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
Fügen Sie dem Anwendungsserver den folgenden Registrierungsschlüssel hinzu:
[HKEY_LOCAL_MACHINE]\ SOFTWARE\Microsoft\Office Server\14.0\Search\Setup\ProtocolHandlers\ProtocolName
Legen Sie den Wert des im vorigen Schritt erstellten Registrierungsschlüssels auf OSearch14.ConnectorProtocolHandler.1 fest.
Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, und führen Sie sie aus:
net stop osearch14
net start osearch14
So erstellen Sie eine Inhaltsquelle
Klicken Sie auf der Seite Suchverwaltung auf Inhaltsquellen und dann auf Neue Inhaltsquelle.
Geben Sie einen Namen für die Inhaltsquelle ein, und klicken Sie unter Inhaltsquellentyp auf Benutzerdefiniertes Repository.
Wählen Sie im Abschnitt Repositorytyp das Protokoll für den benutzerdefinierten Indizierungskonnektor aus.
Geben Sie in Startadressen die Startadresse basierend auf dem Protokoll für den benutzerdefinierten Indizierungskonnektor an.
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"