了解如何在 FAST Search Server 2010 for SharePoint 中向查询结果添加新的优化器。
上次修改时间: 2011年10月5日
本文介绍如何向查询结果添加新的优化器,如下所示:
本文内容
在索引架构中为托管属性启用查询优化
在精简面板 Web 部件中配置自定义查询优化器
验证是否正确创建自定义查询优化器
适用范围: SharePoint Server 2010
在索引架构中为托管属性启用查询优化
要将托管属性用于查询优化,必须修改索引架构配置。
以下示例演示如何为名为 myproperty 的托管属性启用查询优化。
$mp = Get-FASTSearchMetadataManagedProperty -Name myproperty
$mp.RefinementEnabled=1
$mp.Update()
$mp
确保托管属性 (Property) 已将 Queryable 属性 (Attribute) 设为 true。
测试优化器时,在查询结果中返回托管属性 (Property) 数据很方便。验证托管属性 (Property) 是否已将 SummaryType 属性 (Attribute) 设为 Static。
如果为提取的属性 (Property) 启用查询优化,则应确保此托管属性 (Property) 已将 MergeCrawledProperties 属性 (Attribute) 设为 true。此设置为每个项目启用多个优化选项。
重要说明 |
|---|
为使查询优化器显示在搜索结果中,必须对内容进行重新爬网。 |
在精简面板 Web 部件中配置自定义查询优化器
要在搜索 UI 中查看自定义查询优化器,必须在精简面板 Web 部件中配置该优化器。
备注
必须具有 SharePoint 场中的管理员权限才能编辑搜索结果 Web 部件。
最多可以在搜索结果页定义六个优化器。如果定义六个以上优化器,则在"筛选器类别定义"中最后列出的优化器将不会显示。
在精简面板 Web 部件中配置自定义查询优化器
在浏览器中,导航到查询结果页。此 URL 通常如下所示:
http://SiteURL/Pages/results.aspx
在"网站操作"菜单上,单击"编辑页面"。
在精简面板 Web 部件中,单击编辑箭头以显示"Web 部件"菜单,然后单击"编辑 Web 部件"。这将打开"Web 部件"工具窗格。
在"优化"部分,清除"使用默认配置"复选框。
在"优化"部分,单击"筛选器类别定义"字段,然后单击省略号 (…) 按钮。
这将为精简 Web 部件的 FilterCategoriesDefinition 属性打开"文本输入"窗口。可以在此窗口中直接修改 XML。但是,您会发现将代码复制到文件中更简单一些。然后可以使用诸如 Microsoft Visual Studio 2010 之类的应用程序编辑此文件。
必须向此定义添加您的自定义优化器。以下是名为 myproperty、标题为 My property 的优化器的 XML 元素示例。您可以在 FilterCategories 元素的结束标记前添加此定义,将优化器显示在结果页的查询优化部分的末尾。
<Category Title="My property" Description="Use this filter to restrict results by items related to values in myproperty" Type="Microsoft.Office.Server.Search.WebControls.ManagedPropertyFilterGenerator" MetadataThreshold="1" NumberOfFiltersToDisplay="4" MaxNumberOfFilters="20" ShowMoreLink="True" MappedProperty="myproperty" MoreLinkText="show more" LessLinkText="show fewer" ShowCounts="Count"/>有关优化器属性的详细信息,请参阅 Category [优化] 元素的 XML 架构定义。
编辑完文件后,可以将修改的 XML 复制回"文本输入"窗口并保存对 Web 部件的更改。
验证是否正确创建自定义查询优化器
如果自定义查询优化器未在 Web 部件中正确显示,您首先应验证 FAST Search Server 2010 for SharePoint 中的查询结果是否包含为属性提取程序创建的托管属性中的数据,并验证关联的优化器是否返回正确的数据。执行此操作的一种简单方法是使用 Windows PowerShell 脚本发布查询。
必须确保具有一个或多个索引的项目,且项目包含与查询优化器关联的托管属性中的数据。
使用测试自定义查询功能中指定的 Windows PowerShell 脚本。
根据输出可以验证以下内容:
是否已创建托管属性
是否已正确执行已爬网属性的映射
是否已正确配置查询优化
如果优化器数据已输出,但未在精简面板中显示,则必须验证精简面板配置是否正确。
如果优化器未输出,则必须验证索引架构配置是否正确并对包含托管属性任何值的一些项目进行重新爬网。
重要说明