在 SharePoint Server 中创建和部署自定义实体提取程序
**上一次修改主题:**2018-03-07
**摘要:**了解如何创建自定义实体提取程序以及如何使用它们来设置自定义精简条件。创建一个或多个自定义实体提取词典并将它们连接到托管属性。
您可以先在 SharePoint Server 外部的某个系统中创建和维护自定义实体提取程序文件,然后再将该文件导入 SharePoint Server,从而使自定义实体提取程序可供搜索系统使用。
要将自定义实体用作精简条件,首先要创建自定义实体提取词典并部署该词典。然后将托管属性配置为使用自定义实体提取程序并运行完全爬网。之后可以将搜索结果页面上的精简 Web 部件配置为将自定义实体用作精简条件。
本文内容:
开始之前
创建自定义实体提取词典
部署自定义实体提取词典
配置自定义实体提取的托管属性
在 Web 部件中配置精简条件
开始执行此操作前,必须先准备好以下必备项:
Search Service 应用程序
一个或多个完全爬网的内容源
搜索结果页
创建自定义实体提取词典
确定要创建的自定义实体提取词典的类型:Word、Word 部分、Word 精确或 Word 部分精确。请参阅自定义实体提取程序类型概述。
创建带有 Key 和 Display Form 列的 .csv 文件。确保使用逗号作为列分隔符。如果文件包含非 ASCII 的字符(例如,音调符号),必须采用 UTF-8 将其编码。将文件保存到一个位置,并且该位置可从将运行 Microsoft PowerShell cmdlet 以部署自定义实体提取词典的服务器访问。
在 Key 列,输入要包含为自定义实体的术语(一个或多个字)。每个关键词可以使用多行。确保术语开头和结尾位置没有空格。
(可选)在 Display Form 列,输入精简条件名称。如果将此列留空,则从内容提取的术语将显示为精简条件(大小写与其在内容中的大小写相同)。使用 Display Form 列可控制和标准化精简条件的显示方式。
例如,名为“Contoso”的组织具有三个级别的认证系统:Contoso Beginner、Contoso Professional 和 Contoso Expert。Contoso 希望提取这些实体,并可以在所有实体上进行精简。无论词“Contoso”、“beginner”、“professional”或“expert”使用哪种大小写,它们都要将精简条件显示为 Contoso Beginner、Contoso Professional 和 Contoso Expert。对于此示例,自定义实体提取词典文件输入可能如下所示:
Key,Display form
Contoso Beginner,Contoso Beginner
Contoso B1,Contoso Beginner
Contoso Professional,Contoso Professional
Contoso prof,Contoso Professional
Contoso Expert,Contoso Expert
要部署自定义实体提取词典,必须将其导入 SharePoint Server。
导入自定义实体提取词典
确认导入自定义实体提取程序词典的用户帐户是 Search Service 应用程序的管理员。
启动 SharePoint 命令行管理程序。
在 Windows PowerShell 命令提示符处,键入以下命令:
$searchApp = Get-SPEnterpriseSearchServiceApplication Import-SPEnterpriseSearchCustomExtractionDictionary -SearchApplication $searchApp -Filename <Path> -DictionaryName <Dictionary name>
其中:
<Path> 指定要导入的 .csv 文件(自定义提取词典)的完整 UNC 路径。
<Dictionary name> 是自定义提取词典类型的名称。
根据要导入的词典类型,输入下列内容之一:
Microsoft.UserDictionaries.EntityExtraction.Custom.Word.n [其中 n = 1、2、3、4 或 5]
Microsoft.UserDictionaries.EntityExtraction.Custom.ExactWord.1
Microsoft.UserDictionaries.EntityExtraction.Custom.WordPart.n [其中 n = 1、2、3、4 或 5]
Microsoft.UserDictionaries.EntityExtraction.Custom.ExactWordPart.1
以下过程说明了如何将自定义实体提取词典与要从中提取自定义实体的现有托管属性关联。 一般而言,该属性是您希望包含这些实体的托管属性(如托管属性 Title 或 Body)。自定义条目从与其关联的托管属性的完整内容中提取,即使这些内容中的各部分已标记为 <无索引>。
若要指定应从哪个现有托管属性中提取自定义实体,可编辑相应的现有托管属性。有关管理已爬网属性和托管属性的详细信息,请参见在 SharePoint Server 中管理搜索架构。
编辑现有托管属性以完成自定义实体提取
确认用户帐户是 Search Service 应用程序的管理员。
在管理中心的“应用程序管理”部分,单击“管理服务应用程序”。
单击 Search Service 应用程序。
在“搜索管理”页上“快速启动”中的“查询和结果”下,单击“搜索架构”。
在“托管属性”页上,查找要将自定义实体提取词典与包含单个或多个词(或词部分)的词典关联的托管属性。也可以在“筛选器”框中输入托管属性的名称。
指向托管属性,单击箭头,然后单击“编辑/映射属性”。
在“编辑托管属性”页上,编辑“自定义实体提取”下面的设置。选择已导入的自定义实体提取词典,然后单击“确定”。
在下一个完全爬网完成后,将启用自定义实体提取程序。搜索索引中的原始托管属性内容保持不变。此外,根据已启用的自定义实体提取程序的类型,所提取的实体将复制到以下一个或多个托管属性:WordCustomRefiner1、WordCustomRefiner2、WordCustomRefiner3、WordCustomRefiner4、WordCustomRefiner5WordExactCustomRefinerWordPartCustomRefiner1、WordPartCustomRefiner2、WordPartCustomRefiner3、WordPartCustomRefiner4、WordPartCustomRefiner5WordPartExactCustomRefiner。这些托管属性会自动配置为可供搜索、查询、检索、排序和精简。
您可以在搜索结果页面中将提取的自定义实体用作精简条件。精简 Web 部件中提供了基于自定义实体的精简条件。
添加基于自定义实体提取程序的精简条件
确认执行此过程的用户帐户是企业搜索中心网站上 SharePoint 组“Designers”的成员。
浏览到包含要配置的精简 Web 部件的页面,单击“设置菜单”,然后单击“编辑页面”。
编辑精简 Web 部件。单击“精简 Web 部件菜单”箭头,然后单击“编辑 Web 部件”。
在 Web 部件工具窗格中,在“搜索精简属性”部分,验证“在此 Web 部件中选择精简条件”已选中。
单击“选择精简条件”。
在“精简”配置页面上,从“可用”精简条件部分,使用按钮从列表中选择一个或多个托管属性,这些属性包含想要显示为精简条件的提取的实体,然后单击“添加”。 例如,如果您已部署词提取词典,则选择“WordCustomRefiner1”。
在“配置”部分,配置每个精简程序的显示方式。
单击“确定”。
下表显示可以创建的自定义提交词典类型、词典条目与搜索索引中的内容匹配的方式、在部署词典时应使用的词典名称以及哪个托管属性将包含提取的条目。
自定义实体提取程序/自定义实体提取程序词典 | 说明 | 示例 | 要在 Windows PowerShell 中使用的词典名称 | 将包含提取的条目的托管属性 |
---|---|---|---|---|
Word 提取 |
不区分大小写,词典条目匹配标记化内容,最多 5 个词典。 |
条目“anchor”与“anchor”和“Anchor”匹配,但与“anchorage”不匹配 |
Microsoft.UserDictionaries.EntityExtraction.Custom.Word.n [其中 n = 1、2、3、4 或 5] |
WordCustomRefiner1 WordCustomRefiner2 WordCustomRefiner3 WordCustomRefiner4 WordCustomRefiner5 |
Word 部分提取 |
不区分大小写,词典条目匹配非标记化内容,最多 5 个词典。 |
条目“anchor”与“anchor”、“Anchor”和“anchorage”匹配 |
Microsoft.UserDictionaries.EntityExtraction.Custom.WordPart.n [其中 n = 1、2、3、4 或 5] |
WordPartCustomRefiner1 WordPartCustomRefiner2 WordPartCustomRefiner3 WordPartCustomRefiner4 WordPartCustomRefiner5 |
Word 精确提取 |
区分大小写,词典条目匹配标记化内容,最多 1 个词典。 |
条目“anchor”与“anchor”匹配,但与“Anchor”或“Anchorage”不匹配 |
Microsoft.UserDictionaries.EntityExtraction.Custom.ExactWord.1 |
WordExactCustomRefiner |
Word 部分精确提取 |
区分大小写,词典条目匹配非标记化内容,最多 1 个词典。 |
条目“anchor”与“anchor”和“anchorage”匹配,但与“Anchor”不匹配 |
Microsoft.UserDictionaries.EntityExtraction.Custom.ExactWordPart.1 |
WordPartExactCustomRefiner |