使用SharePoint Portal Server增强网站搜索功能

在现代网站内容管理系统(CMS)中,搜索功能是用户获取信息的关键工具。本文将介绍如何利用SharePointPortal Server(SPS)来增强网站搜索能力。将通过设置SPS的搜索服务,并将其集成到CMS中,以提供更强大的搜索功能。

SharePoint设置

要开始使用SPS进行搜索,需要按照Emmanuel Desigaud的文章中的指南来设置SPS。基本上,需要设置一个内容索引并添加一个内容源。同时,请确保在CMS网站上执行搜索的用户能够访问SPS搜索Web服务。

安装

首先,将SPSSearch.xml文件复制到XML目录中,或者复制到网站的任何位置。如果希望在搜索结果中包含额外的列,请在select语句中添加额外的字段。还可以通过修改500来更改返回的搜索结果的最大数量。

用户控件

接下来,将用户控件SearchInput复制到用户控件目录中。默认的搜索按钮是一个文本按钮。如果想要一个图像按钮,可以相应地更改SearchButtonSearchImageButtonVisible属性,并更新SearchImageButtonImageUrl。即使不使用两个按钮,也不要删除它们。

搜索结果

用户控件SearchResults复制到用户控件目录中。如果在SPSSearch.xml中添加了额外的字段,请自定义SearchResult.ascx以包含这些字段。在SearchResults.aspx.cs中,使用项目名称来限定命名空间SPSSearch

using ProjectName.SPSSearch;

类文件和CSS

QueryService.csSearchUtilities.cs复制到类目录中。将Search.css复制到CSS目录中。

配置文件

web.config文件中,添加以下键到appSettings

搜索输入控件

用户控件SearchInput添加到CMS网站中,希望搜索输入框显示的位置。通过SearchResultsUrl属性指定结果页面的URL。搜索结果页面可以是CMS模板页面或常规ASP.NET页面。例如:

<%@ Register TagPrefix="uc1" TagName="SearchInput" Src="~/UserControls/SearchInput.ascx" %> ...

搜索结果页面

用户控件SearchResult添加到搜索结果页面。该控件有两个属性可以设置:

  • DefaultPageSize: 每页搜索结果的数量,默认为10。
  • FilterRights: [true | false]。默认情况下,搜索结果将过滤掉没有权限查看的CMS页面。如果搜索结果不包含任何授权内容,或者如果希望提高性能,请将其设置为false。但请谨慎使用。

样式表

在所有引用搜索控件的页面中包含Search.css

项目构建

将所有新文件包含到CMS项目中。在VS.NET中重新构建网站。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485