为SharePoint搜索创建自定义优化参数
2011-09-23 23:31
204 查看
当我们使用SharePoint 2010所提供的搜索功能时,在搜索结果的左侧,有一个搜索结果优化区域。通过这个区域,用户可以进一步的精简搜索结果。比如,仅仅显示类型为Word文件的搜索结果,或者仅仅显示作者为“kaneboy”的搜索结果。
这个优化区域内置了最常见的几个精简项目,包括类型(搜索结果是何种类型)、来源(搜索结果来自于哪个网站)、作者、修改日期等。如果在文档管理系统中使用了SharePoint 2010新的托管元数据服务中的术语来定义了企业关键字,那么这些关键字也会自动出现在优化区域中。
除了内置的这些精简项目,管理员可以添加更多的额外精简项目。不过如果希望某个属性能作为一个精简项目,管理员需要首先将它定义为搜索服务中的托管属性。
比如,在文档系统中,我们定义了一个专门的字段,“技术等级”,来描述所有技术文档的难度。这个字段的内部名称是“TechLevel”。
首先,在SharePoint 2010搜索管理中对所有内容进行一次完全爬网。如果爬网引擎发现了爬网内容有一个额外的字段,它会将这个字段作为已爬网属性存储到搜索数据库中。
接下来,我们需要将这个已爬网属性定义为托管属性。从SharePoint 2010管理中心里面,通过“管理服务应用程序 - Search Service Application - 元数据属性”,就打开了元数据属性管理界面。点击“新建托管属性”。
为新托管属性取名为“TechLevel”,然后,我们需要将它与已经存在的那个已爬网属性关联起来。点击“添加映射”按钮,然后搜索“TechLevel”(因为这是那个字段的内部名称),找到这个已爬网属性。将它与新托管属性建立起映射。
最后这个新托管属性的定义如下。
定义好了托管属性之后,对内容源进行第二次完全爬网!这是完全必要、不可或缺的,否则,内容的这个托管属性中将不会包含任何有效的值。
完成第二次爬网之后,打开搜索结果页面,编辑此页面,找到页面上的“精简面板”Web部件,编辑它的属性。这个Web部件的作用就是显示页面上的优化区域。
展开这个Web部件属性中的“优化”区域,将“筛选器类别定义”中的内容全部复制出来。把“使用默认配置”选项清除,否则我们做的任何修改都不会生效。
随便找一个XML文本编辑器,按照下面的格式,创建一段XML文本。在下面的示例XML中,“MappedProperty”属性的值需要设置为托管属性的名称(TechLevel),“Title”属性决定了这个优化选项显示在页面左侧的抬头。
<Category Title="技术等级"
Description="文档的技术等级"
Type="Microsoft.Office.Server.Search.WebControls.ManagedPropertyFilterGenerator"
MetadataThreshold="1"
NumberOfFiltersToDisplay="4"
MaxNumberOfFilters="20"
SortBy="Frequency"
SortDirection="Descending"
SortByForMoreFilters="Name"
SortDirectionForMoreFilters="Ascending"
ShowMoreLink="True"
MappedProperty="TechLevel"
MoreLinkText="显示更多"
LessLinkText="显示更少"/>
把上面的XML文本,插入到从Web部件属性面板“筛选器类别定义”中复制出来的XML文本里面,需要插入到“<FilterCategories>”这个节点里面。
然后将新的XML文本内容复制回Web部件属性面板“筛选器类别定义”文本框,确定即可。保存并刷新页面,就能看到大功告成了。
这个优化区域内置了最常见的几个精简项目,包括类型(搜索结果是何种类型)、来源(搜索结果来自于哪个网站)、作者、修改日期等。如果在文档管理系统中使用了SharePoint 2010新的托管元数据服务中的术语来定义了企业关键字,那么这些关键字也会自动出现在优化区域中。
除了内置的这些精简项目,管理员可以添加更多的额外精简项目。不过如果希望某个属性能作为一个精简项目,管理员需要首先将它定义为搜索服务中的托管属性。
比如,在文档系统中,我们定义了一个专门的字段,“技术等级”,来描述所有技术文档的难度。这个字段的内部名称是“TechLevel”。
首先,在SharePoint 2010搜索管理中对所有内容进行一次完全爬网。如果爬网引擎发现了爬网内容有一个额外的字段,它会将这个字段作为已爬网属性存储到搜索数据库中。
接下来,我们需要将这个已爬网属性定义为托管属性。从SharePoint 2010管理中心里面,通过“管理服务应用程序 - Search Service Application - 元数据属性”,就打开了元数据属性管理界面。点击“新建托管属性”。
为新托管属性取名为“TechLevel”,然后,我们需要将它与已经存在的那个已爬网属性关联起来。点击“添加映射”按钮,然后搜索“TechLevel”(因为这是那个字段的内部名称),找到这个已爬网属性。将它与新托管属性建立起映射。
最后这个新托管属性的定义如下。
定义好了托管属性之后,对内容源进行第二次完全爬网!这是完全必要、不可或缺的,否则,内容的这个托管属性中将不会包含任何有效的值。
完成第二次爬网之后,打开搜索结果页面,编辑此页面,找到页面上的“精简面板”Web部件,编辑它的属性。这个Web部件的作用就是显示页面上的优化区域。
展开这个Web部件属性中的“优化”区域,将“筛选器类别定义”中的内容全部复制出来。把“使用默认配置”选项清除,否则我们做的任何修改都不会生效。
随便找一个XML文本编辑器,按照下面的格式,创建一段XML文本。在下面的示例XML中,“MappedProperty”属性的值需要设置为托管属性的名称(TechLevel),“Title”属性决定了这个优化选项显示在页面左侧的抬头。
<Category Title="技术等级"
Description="文档的技术等级"
Type="Microsoft.Office.Server.Search.WebControls.ManagedPropertyFilterGenerator"
MetadataThreshold="1"
NumberOfFiltersToDisplay="4"
MaxNumberOfFilters="20"
SortBy="Frequency"
SortDirection="Descending"
SortByForMoreFilters="Name"
SortDirectionForMoreFilters="Ascending"
ShowMoreLink="True"
MappedProperty="TechLevel"
MoreLinkText="显示更多"
LessLinkText="显示更少"/>
把上面的XML文本,插入到从Web部件属性面板“筛选器类别定义”中复制出来的XML文本里面,需要插入到“<FilterCategories>”这个节点里面。
然后将新的XML文本内容复制回Web部件属性面板“筛选器类别定义”文本框,确定即可。保存并刷新页面,就能看到大功告成了。
相关文章推荐
- 转:为SharePoint搜索创建自定义优化参数
- 为SharePoint搜索创建自定义优化参数 推荐
- 为SharePoint网站创建自定义导航菜单
- sharepoint 2016 学习系列篇(12)-自定义列表应用篇-(1)创建一个自定义列表(Create a custom list)
- PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
- [转载]SharePoint 2013搜索学习笔记之自定义结果源
- Sharepoint网站创建自定义导航全记录
- sharepoint 2010 创建一个简单的列表自定义字段
- 一步一步SharePoint 2007之四十四:实现自定义Workflow(3)——在Designer中创建一个Workflow
- 11_ElasticSearch 基于tie_breaker参数优化dis_max搜索效果
- 在 SharePoint 2010 中创建自定义列表定义
- 错误:当你使用id作为sharepoint的自定义页面的查询参数时,总会提示项目不存在!
- Python自定义函数的创建、调用和函数的参数详解
- sharepoint 创建自定义字段
- Sharepoint 自定义搜索
- MSDN Visual系列:创建用于自定义SharePoint解决方案部署的Visual Studio项目
- 为SharePoint 2010中的FBA创建自定义登录页面
- 程序创建明细表并添加自定义的参数列
- 如何在sharepoint 2013中创建自定义webpart
- 创建自定义 AngularJS 指令:Part 3 孤立作用域与函数参数