Share via


创建自定义属性提取程序

上次修改时间: 2015年3月9日

适用范围: SharePoint Server 2010

本文内容
属性提取程序类型
创建自定义属性提取词典
配置自定义属性提取项处理阶段
创建托管属性映射
配置自定义查询优化器

本文介绍如何创建自定义属性提取程序,如下所示:

属性提取程序类型

可根据全词匹配或部分词匹配来定义两种属性提取程序。

全词匹配属性提取程序

这些属性提取程序适用于匹配用除东亚语言(朝鲜语、中文、日语和泰语)之外的所有语言编写的字符串。

自定义词典中的条目可以是单个单词或一个单词字符串。在执行基本词汇切分(此操作会将文本中的逗号、标点符号、冒号和短划线等分隔符替换为空格)后执行字符串匹配。提取程序必须在执行基本词汇切分后匹配整个字符串。

备注

匹配是区分大小写的。

可在项处理管道中定义最多三个自定义全词匹配属性提取程序。可使用三个预定义的项处理阶段之一,这三个阶段分别名为 wholewordsextractor1、wholewordsextractor2 和 wholewordsextractor3。

部分词匹配属性提取程序

这些属性提取程序适用于匹配用东亚语言(朝鲜语、中文、日语或泰语)编写的所有文档中的字符串,这是因为这些语言中的词不会用空格分隔。

还可以将此属性提取程序用于特定用例,在这些用例中,需要执行子字符串匹配,例如在较长的序列中搜索 DNA 序列。在此示例中,自定义词典将包含有趣的 DNA 序列,例如"AAAGTCTGAC"。它将匹配包含序列"ATATGAATGGAAAGTCTGACTGATATCTGG"的文档。

备注

匹配是区分大小写的。

可以在项处理管道中定义最多两个自定义部分词匹配属性提取程序。使用以下两个预定义的项处理阶段之一,这两个阶段分别名为 wordpartsextractor1 和 wordpartsextractor2。

同时带东亚语言和非东亚语言内容的项

如果自定义词典条目应匹配用东亚语言单词包含的文档字符串,则应使用部分词匹配程序。

这是因为并不总是用空格将中文语言文档或日文语言文档中的外语单词与中文或日文字符隔开。

创建自定义属性提取词典

自定义词典定义将在已编入索引的项目中搜索并在关联的托管属性中编制索引的词。有关 XML 文件语法的信息,请参阅语言词典架构。自定义词典的格式必须与以下示例中所示格式相同。每个条目必须具有一个键和一个值。自定义词典必须以 UTF-8 格式保存,且不带字节顺序标记 (BOM)。它可以有一个不带值的条目。在此情况下,将不会为此键提取任何实体。

此键是项目中必须存在的字符串。键的匹配是区分大小写的。若要使提取程序不区分大小写,请向词典添加所有大小写变体。

备注

键不应包含任何撇号。如果键包含撇号,则决不会匹配该字词。

值是将提取到关联的已爬网属性的字符串。

备注

请确保结束 dictionary 标记后没有空格或新行,否则词典将生成错误。

以下示例定义一个属性提取词典,该词典将提取与葡萄酒 (wine) 术语相关的字词。为了使提取程序不区分大小写,该示例将包含字词的相关大小写变体。

<dictionary>
  <entry key="Wine" value="wine" />
  <entry key="wine" value="wine" />
  <entry key="red wine" value="red wine" />
  <entry key="Red wine" value="red wine" />
  <entry key="white wine" value="white wine" />
  <entry key="White wine" value="white wine" />
  <entry key="Chardonnay" value="chardonnay" />
  <entry key="chardonnay" value="chardonnay" />
</dictionary>

关联的属性提取程序将这些与葡萄酒相关的字词提取到与自定义属性提取阶段关联的已爬网属性。匹配功能将处理这些字词的各个大小写,并将生成的已爬网属性中的大小写规范化。

您可以在管理服务器上的资源存储文件夹中查找属性提取词典的模板。可在以下文件夹中找到相应模板:%FASTSEARCH%\components\resourcestore\dictionaries\matching\

重要注释重要说明

如果词典的格式出错,则仅在提供项目的源时(而不是在将词典上载到资源存储时)告知您此错误。项处理日志将包含一个错误,该错误指示因出现自动化错误(已编译的词典格式)而无法编译 wholewords_extraction1.xml 文件。

配置自定义属性提取项处理阶段

您必须启用打算使用的预定义的自定义属性提取阶段。

配置项处理阶段

  1. 在 FAST Search Server 2010 for SharePoint 管理节点上,编辑 %FASTSEARCH%\etc\config_data\DocumentProcessor\OptionalProcessing.xml。通过将 active 值更改为 yes,更改相应的自定义项属性阶段定义。有关详细信息,请参阅自定义 optionalprocessing.xml

  2. 在管理服务器上,在 Windows PowerShell 命令提示符处,键入以下命令:

    psctrl reset

    这将重置系统中当前运行的所有项处理器。

  3. 通过使用 Windows PowerShell 命令 Add-FASTSearchResource,将自定义属性提取词典上载到 FAST Search Server 2010 for SharePoint 资源存储中。

    在以下代码示例中,所编辑的词典文件的名称为 c:\temp\wine_dictionary.xml,并且正在更新名为 wholewordsextractor1 的自定义属性提取程序阶段。

    Add-FASTSearchResource -FilePath c:\temp\wine_dictionary.xml -Path dictionaries\matching\wholewords_extraction1.xml
    

    FilePath 指定自定义属性提取程序定义文件的路径名。Path 指定资源存储中词典的相对路径。使用的文件名将依赖于要配置的提取程序。表 1 演示可用的属性提取程序和资源存储中的文件名之间的关系。

    表 1. 提取程序名称和资源存储中的文件名之间的关系

    提取程序名称

    资源存储中的文件名(路径)

    wholewords1

    wholewords_extraction1.xml

    wholewords2

    wholewords_extraction2.xml

    wholewords3

    wholewords_extraction3.xml

    wordparts1

    wordparts_extraction1.xml

    wordparts2

    wordparts_extraction2.xml

    有关资源存储命令的信息,请参阅 Microsoft TechNet 上的管理 cmdlet

创建托管属性映射

若要在查询或查询优化中使用提取的数据,您必须将提取的已爬网属性映射到索引架构中的托管属性。

每个自定义属性提取阶段都有一个关联的已爬网属性,分别名为 wholewords1wholewords2wholewords3wordparts1wordparts2。以下 Windows PowerShell 命令会创建一个名为 wineterms 的托管属性,并会将名为 wholewords1 的已爬网属性映射到该新托管属性。

$cp = Get-FASTSearchMetadataCrawledProperty -Name wholewords1
$mp = New-FASTSearchMetadataManagedProperty -Name wineterms –type 1
$mp.StemmingEnabled=0
$mp.RefinementEnabled=1
$mp.Update()
New-FASTSearchMetadataCrawledPropertyMapping -ManagedProperty $mp -CrawledProperty $cp

将托管属性的类型设置为 1,这表示它具有数据类型 string。

命令 $mp.StemmingEnabled=0 表示为此托管属性禁用词干分解。在大多数情况下,这是已提取属性所需的行为。

命令 $mp.RefinementEnabled=1 表示为此托管属性启用查询优化。

有关 Windows PowerShell 命令的信息,请参阅 Microsoft TechNet 上的使用 Windows PowerShell 管理已爬网属性使用 Windows PowerShell 管理托管属性

备注

您还可以使用 FAST Search Server 2010 for SharePoint 管理中心图形用户界面来配置属性映射。有关详细信息,请参阅 Microsoft Office.com 上的属性管理(该链接可能指向英文页面)

配置自定义查询优化器

虽然此时已配置自定义提取程序,但在搜索前端无法查看其优化器。

按照向精简面板 Web 部件添加优化器中的步骤操作,在精简面板 Web 部件中配置优化器。

请参阅

概念

语言词典架构