SharePoint Server 搜索连接器框架
Microsoft SharePoint Server 2010 提供了一个用于连接到内容源并对内容源进行爬网的新连接器框架。
上次修改时间: 2015年3月9日
适用范围: SharePoint Server 2010
本文内容
SharePoint Server 2010 索引连接器
数据库和 Web 服务索引连接器
.NET Framework 程序集连接器和自定义索引连接器
该新连接器框架是基于 Microsoft Business Connectivity Services (BCS) 构建的。索引连接器可以对内容进行爬网、枚举内容并创建内容的本地索引,它们由以下组件构成:
BDC 模型文件 提供与外部系统的连接信息和数据结构。
连接器 提供连接到外部系统的代码。
本主题提供有关 SharePoint Server 2010 索引连接器以及如何创建用于搜索外部系统的自定义索引连接器的信息。
SharePoint Server 2010 索引连接器
SharePoint Server 2010 附带了用于搜索外部系统的以下索引连接器:
Lotus Notes 连接器
Exchange 连接器
Documentum 连接器
有关如何安装和配置这些连接器的信息,请参阅安装连接器 (SharePoint Server 2010)。
数据库和 Web 服务索引连接器
Business Connectivity Services 提供了可用于连接到数据库和 Windows Communication Foundation (WCF) 或 Web 服务的Business Data Connectivity (BDC) Service连接器。这意味着,您无需编写任何代码,即可为数据库和 WCF 或 Web 服务外部内容类型创建索引连接器。您只需为索引连接器创建 模型文件。有关如何使用 Microsoft SharePoint Designer 2010 执行此操作的信息,请参阅如何:基于 Web 服务创建外部内容类型和如何:基于 SQL Server 表创建外部内容类型。
.NET Framework 程序集连接器和自定义索引连接器
如果 Business Connectivity Services 不直接支持您的外部系统,则可编写您自己的 BDC 模型文件和连接器以通过 Business Connectivity Services 来公开您的外部系统。
如果外部系统中的外部内容类型是静态的且不会经常发生更改,同时还具有小组已知类型,则可编写 Web 服务或 .NET 连接程序集以公开外部系统中的数据。有关详细信息,请参阅创建 .NET 连接程序集和 Web 服务和如何:创建 .NET 连接程序集。
如果外部系统中的外部内容类型是大型的动态类型,且具有自定义类型,则应考虑为外部系统创建自定义连接器程序集。有关详细信息,请参阅使用 .NET 程序集连接器与编写自定义连接器之间的差异和创建自定义索引连接器。若要为自定义连接器创建 BDC 模型文件,请参阅如何:使用 SharePoint Designer 为自定义连接器创建 BDC 模型文件。
BDC 模型文件中的搜索属性
BDC 元数据模型包括专用于支持 SharePoint Server 搜索的属性。下表介绍了这些属性。
表 1. BDC 模型文件的搜索属性
名称 |
元数据对象 |
说明 |
---|---|---|
ShowInSearchUI |
Model |
指定模型文件中的 LobSystemInstance 元素应显示在搜索用户界面中。对于自定义连接器,将忽略此值。 |
InputUriProcessor |
LobSystem |
指定在将输入 URL 传递到连接器之前处理该 URL 的类的名称。适用于自定义连接器和 Business Connectivity Services 中默认包含的连接器。 |
OutputUriProcessor |
LobSystem |
指定在将输出 URL 从连接器传递到搜索系统之前处理该 URL 的类的名称。适用于自定义连接器和 Business Connectivity Services 中默认包含的连接器。 |
Title |
Entity |
指定要在搜索结果中显示的外部内容类型的标题。 |
DefaultLocale |
Entity |
指定区域设置字符串。可使用 LCIDField 属性或 CultureField 属性重写此值。 |
RootFinder |
Method |
指定用于枚举要爬网的项的 Finder 方法。例如,在连接到数据库时,它可以是 SELECT 语句或要爬网的表的列表。 |
DirectoryLink |
Method |
指定 BDC 应导航关联。此属性对于分层爬网是必需属性。 |
DeletedCountField |
Method |
指定删除的计数值。除非此属性包含一个大于零的整数,否则它将被忽略。 |
WindowsSecurityDescriptorField |
Method |
为项指定 Windows 安全描述符。如果未指定该描述符,则调用 GetSecurityDescriptor 方法。如果未定义 GetSecurityDescriptor,则将所有外部项分配给"每个人"访问控制列表 (ACL)。 |
AuthorField |
Method |
指定要在搜索结果中显示的作者姓名。 |
DisplayUriField |
Method |
指定要在搜索结果中显示的 URL。如果已指定此 URL,则该属性将替代 Business Connectivity Services 所提供的配置文件页 URL。如果未指定此 URL,则搜索结果中显示的 URL 将以 bdc3:// 开头,并且浏览器将无法识别它。 |
LastModifiedTimeStampField |
Method |
指定要在搜索结果中显示的外部项目的时间戳。此值还用于增量爬网。 |
DescriptionField |
Method |
指定要在搜索结果中显示的说明。 |
LCIDField |
Method |
指定 DescriptionField 的区域设置 ID (LCID)。如果未指定此 ID,则使用默认的分词系统。 |
CultureField |
Method |
指定 DescriptionField 的区域性。 |
Extension |
Method |
指定可爬网流的文件扩展名。如果未指定,则默认扩展名为 .txt。 |
MimeType |
Method |
指定可爬网流的 MIME 类型。如果未指定,则默认扩展名为 .txt。如果同时指定了 Extension 字段和 MimeType 字段,则使用 MimeType 字段中指定的值。 |
UseClientCachingForSearch |
Method |
指定在枚举的过程中,爬网程序是否执行缓存。如果对内容进行缓存,则爬网程序将不会在其对单个项目执行爬网时返回到内容源。 |
EnumerateIdsOnly |
FilterDescriptor |
指定是否只返回 IDEnumerator 中的 ID。 |
CrawlStartTime |
FilterDescriptor |
包含上一次爬网的开始时间。 |
SynchronizationCookie |
FilterDescriptor |
指定外部内容源在爬网后返回一个 Cookie,该 Cookie 会在下次枚举调用期间由索引连接器重新发送。外部内容源使用该 Cookie 来确定自上次爬网后已发生更改的内容。此属性将与 ChangedIDEnumerator 和 DeletedIDEnumerator 方法实例一起使用。 |
Property |
TypeDescriptor |
指定用于搜索属性的 struct 数组。其中包括:
|
Text |
TypeDescriptor |
指定用于搜索附件的 struct 数组。包括:
|
请参阅
任务
如何:使用 SharePoint Designer 为自定义连接器创建 BDC 模型文件