为SharePoint搜索创建自定义优化参数

简介:

当我们使用SharePoint 2010所提供的搜索功能时,在搜索结果的左侧,有一个搜索结果优化区域。通过这个区域,用户可以进一步的精简搜索结果。比如,仅仅显示类型为Word文件的搜索结果,或者仅仅显示作者为“kaneboy”的搜索结果。

image

这个优化区域内置了最常见的几个精简项目,包括类型(搜索结果是何种类型)、来源(搜索结果来自于哪个网站)、作者、修改日期等。如果在文档管理系统中使用了SharePoint 2010新的托管元数据服务中的术语来定义了企业关键字,那么这些关键字也会自动出现在优化区域中。

除了内置的这些精简项目,管理员可以添加更多的额外精简项目。不过如果希望某个属性能作为一个精简项目,管理员需要首先将它定义为搜索服务中的托管属性。

比如,在文档系统中,我们定义了一个专门的字段,“技术等级”,来描述所有技术文档的难度。这个字段的内部名称是“TechLevel”。

image

首先,在SharePoint 2010搜索管理中对所有内容进行一次完全爬网。如果爬网引擎发现了爬网内容有一个额外的字段,它会将这个字段作为已爬网属性存储到搜索数据库中。

接下来,我们需要将这个已爬网属性定义为托管属性。从SharePoint 2010管理中心里面,通过“管理服务应用程序 - Search Service Application - 元数据属性”,就打开了元数据属性管理界面。点击“新建托管属性”。

为新托管属性取名为“TechLevel”,然后,我们需要将它与已经存在的那个已爬网属性关联起来。点击“添加映射”按钮,然后搜索“TechLevel”(因为这是那个字段的内部名称),找到这个已爬网属性。将它与新托管属性建立起映射。

image

最后这个新托管属性的定义如下。

image

定义好了托管属性之后,对内容源进行第二次完全爬网!这是完全必要、不可或缺的,否则,内容的这个托管属性中将不会包含任何有效的值。

完成第二次爬网之后,打开搜索结果页面,编辑此页面,找到页面上的“精简面板”Web部件,编辑它的属性。这个Web部件的作用就是显示页面上的优化区域。

image

展开这个Web部件属性中的“优化”区域,将“筛选器类别定义”中的内容全部复制出来。把“使用默认配置”选项清除,否则我们做的任何修改都不会生效。

image

随便找一个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>”这个节点里面。

image

然后将新的XML文本内容复制回Web部件属性面板“筛选器类别定义”文本框,确定即可。保存并刷新页面,就能看到大功告成了。

image





本文转自 kaneb0y 51CTO博客,原文链接:http://blog.51cto.com/kaneboy/672504,如需转载请自行联系原作者

目录
相关文章
|
JavaScript
vue实现下拉列表远程搜索示例(根据关键词模糊搜索)
vue实现下拉列表远程搜索示例(根据关键词模糊搜索)
1033 0
vue实现下拉列表远程搜索示例(根据关键词模糊搜索)
|
前端开发 小程序 关系型数据库
小程序中实现搜索功能
小程序中实现搜索功能
小程序中实现搜索功能
Joomla 4将有一个新的默认搜索扩展
Joomla 4每个月都会在Alpha版本上取得进展。 Alpha 10带来了一个重要的变化:现在有一个新的默认搜索扩展。旧的com_search已被com_finder取代。 这不是一个新的扩展,因为com_finder已经在Joomla 3每个版本的中:它被称为“智能搜索”。
如何使用Marketing Cloud的扩展字段作为搜索条件进行搜索
需求:我在Marketing Cloud的contact模型上用custom field这个应用创建了一个Extension field,名称为微信ID。 现在客户的需求是使用这个字段作为过滤条件进行搜索。
656 0
|
Web App开发 存储
修改 Chrome 自定义搜索的编码
修改 Chrome 自定义搜索的编码
4540 0
|
PHP SQL
如何让帝国CMS7.2搜索模板支持动态标签调用
  帝国cms站内搜索一般不支持动态标签调用,如果要调用如何实现呢?修改两个地方就可以实现了。打开 /e/search/result/index.php 文件,找到(文件改了,不会调用也是徒劳!看看这个帝国cms搜索关键字调用标签(showsearch)怎么用) require(".
1449 0
|
JavaScript 前端开发
SharePoint 2013 定制搜索显示模板(二)
前言   之前一篇博客,简单的介绍了如何定制搜索显示模板,这一次,我们介绍一下如何定制搜索显示时,弹出来的那个页面,相信这个大家也都会遇到的。   1、第一部分就是搜索显示模板的部分,第二部分就是搜索项目详情的部分,如下图:   2、按照之前一篇博客介绍的过程,找到下面红框的html,下载...
988 0