为SharePoint搜索创建自定义优化参数
当我们使用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部件属性面板“筛选器类别定义”文本框,确定即可。保存并刷新页面,就能看到大功告成了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述