SharePoint Server Search Connector Framework
Microsoft SharePoint Server 2010 provides a new connector framework for connecting to and crawling content sources.
Applies to: SharePoint Server 2010
In this article
SharePoint Server 2010 Indexing Connectors
Database and Web Service Indexing Connectors
.NET Framework Assembly Connectors and Custom Indexing Connectors
The new connector framework is built on Microsoft Business Connectivity Services (BCS). Indexing connectors crawl, enumerate, and create a local index of content, and are composed of the following:
BDC Model File Provides the connection information to the external system, and the structure of the data.
Connector Provides the code that connects to the external system.
This topic provides information about the SharePoint Server 2010 indexing connectors, and how you can create custom indexing connectors to search external systems.
SharePoint Server 2010 Indexing Connectors
SharePoint Server 2010 provides with the following indexing connectors for searching external systems:
Lotus Notes connector
Exchange connector
Documentum connector
For information about how to install and configure these connectors, see Install Connectors (SharePoint Server 2010).
Database and Web Service Indexing Connectors
Business Connectivity Services provides Business Data Connectivity (BDC) service connectors that support connecting to databases and Windows Communication Foundation (WCF) or web services. This means that you can create indexing connectors for database and WCF or web service external content types without writing any code. You just create the model file for the indexing connector. For information about how to use Microsoft SharePoint Designer 2010 to do this, see How to: Create an External Content Type Based on a Web Service and How to: Create an External Content Type Based on a SQL Server Table.
.NET Framework Assembly Connectors and Custom Indexing Connectors
If your external system is not directly supported by Business Connectivity Services, you can expose your external system via Business Connectivity Services by writing your own BDC model file and connector.
If the external content types in the external system are static and do not change often, and have a small set of known types, you can write web services or .NET connectivity assemblies to expose the data from your external system. For more information, see Creating .NET Connectivity Assemblies and Web Services and How to: Create a .NET Connectivity Assembly.
If the external content type in the external system is dynamic, has custom types, and is large-scale, you should consider creating a custom connector assembly for that external system. For more information, see Differences Between Using the .NET Assembly Connector and Writing a Custom Connector and Creating a Custom Indexing Connector. To create the BDC model file for the custom connector, see How to: Use SharePoint Designer to Create a BDC Model File for a Custom Connector.
Search Properties in BDC Model Files
The BDC metadata model includes properties that support SharePoint Server search specifically. The following table describes these properties.
Table 1. Search properties for BDC model files
Name |
Metadata Object |
Description |
---|---|---|
ShowInSearchUI |
Model |
Specifies that an LobSystemInstance element in the model file should be displayed in the search user interface. This value is ignored for custom connectors. |
InputUriProcessor |
LobSystem |
Specifies the name of the class that processes the input URL before passing it to the connector. Applies to custom connectors and the connectors that are included by default in Business Connectivity Services. |
OutputUriProcessor |
LobSystem |
Specifies the name of the class that processes the output URL before passing it to the search system from the connector. Applies to custom connectors and default Business Connectivity Services connectors. |
Title |
Entity |
Specifies the title of the external content type to display in search results. |
DefaultLocale |
Entity |
Specifies the locale string. You can override this value by using the LCIDField property or the CultureField property. |
RootFinder |
Method |
Specifies the Finder method to use to enumerate the items to crawl. For example, when connecting to a database, this could be the SELECT statement or the list of tables to crawl. |
DirectoryLink |
Method |
Specifies that the BDC should navigate associations. Required for hierarchical crawling. |
DeletedCountField |
Method |
Specifies the deleted count value. This property is ignored unless it contains an integer greater than zero. |
WindowsSecurityDescriptorField |
Method |
Specifies the Windows Security descriptor for the item. If not specified, the GetSecurityDescriptor method is called. If the GetSecurityDescriptor is not defined, all External Items are assigned the Everyone access control list (ACL). |
AuthorField |
Method |
Specifies the author name to display in search results. |
DisplayUriField |
Method |
Specifies the URL to display in search results. If specified, this property overrides the profile page URL provided by the Business Connectivity Services. If not specified, the URL displayed in search results will start with bdc3://, and will not be understood by the browser. |
LastModifiedTimeStampField |
Method |
Specifies the External Item's timestamp to display in search results. This value is also used for incremental crawling. |
DescriptionField |
Method |
Specifies the description to display in search results. |
LCIDField |
Method |
Specifies the locale ID (LCID) for the DescriptionField. If this is not specified, the default word breaker is used. |
CultureField |
Method |
Specifies the culture for the DescriptionField. |
Extension |
Method |
Specifies the file name extension for the crawlable stream. If not specified, the default extension is .txt. |
MimeType |
Method |
Specifies the MIME type for the crawlable stream. If not specified, the default extension is .txt. If the Extension field and MimeType field are both specified, the value specified in the MimeType field is used. |
UseClientCachingForSearch |
Method |
Specifies whether the crawler caches the content during enumeration. If the content is cached, then the crawler will not make another trip to the content source when it crawls individual items. |
EnumerateIdsOnly |
FilterDescriptor |
Specifies whether to return IDs only in the IDEnumerator. |
CrawlStartTime |
FilterDescriptor |
Contains the start time of the last crawl. |
SynchronizationCookie |
FilterDescriptor |
Specifies that the external content source returns a cookie after a crawl, which is then resent by the indexing connector during the next enumeration call. The external content source uses the cookie to determine what has changed since the last crawl. This property is used with ChangedIDEnumerator and DeletedIDEnumerator method instances. |
Property |
TypeDescriptor |
Specifies the struct array used by search for properties. Consists of the following:
|
Text |
TypeDescriptor |
Specifies the struct array used by search for attachments. Consists of the following:
|
See Also
Tasks
How to: Use SharePoint Designer to Create a BDC Model File for a Custom Connector
Concepts
Enhancing the BDC Model File for SharePoint Server Search
Creating a Custom Indexing Connector
Code Sample: MyFileConnector Custom Indexing Connector
How to: Crawl Associated External Content Types