首页 > 代码库 > SharePoint配置搜索服务和指定搜索范围

SharePoint配置搜索服务和指定搜索范围

转载:http://constforce.blog.163.com/blog/static/163881235201201211843334/

一、配置SharePoint Foundation搜索

1. 进入:管理中心 > 应用程序管理 > 服务应用程序 > 管理服务器上的服务,确认“SharePoint Foundation 搜索”服务已启动,并点击名称链接进入配置界面。在配置界面配置“内容访问帐”及“ 索引计划”。
2. 进入:管理中心 > 应用程序管理 > 数据库 > 管理内容数据库,点击数据名称(如:WSS_Content)链接,进入配置界面,将“选择 Microsoft SharePoint Foundation 搜索服务器”设为搜索服务所在的服务器(一般即为本机)。

 

二、配置SharePoint Server搜索

1. 进入:管理中心 > 应用程序管理 > 服务应用程序 > 管理服务应用程序,确认已创建了“Search Service Application”服务应用。否则需要手工添加。
2. 在如上界面点击进入“Search Service Application”配置页面,可进行如下配置:
    1)点击左侧导航:爬网设置 > 内容源,缺省会有一项“本地SharePoint网站”,点击进入,并设置“爬网计划”,如果是第一次爬网,可开启“启动完全爬网”。
    2)点击左侧导航:查询和结果 > 范围,可添加搜索范围(如对Word文档的搜索)。并可点击进入此范围配置搜索规则。
3. 在内容网站首要网站的 网站设置 > 网站集管理 > 搜索范围  中点击“显示组”,将新建的搜索范围添加到“搜索下拉列表”和“高级搜索”两个组中。

参见:http://blog.joycode.com/kaneboy/archives/2011/04/30/116195.joy

三、配置SharePoint 搜索中心

在激活SharePoint Server搜索服务的基础上,可以配置搜索中心。操作如下:
1. 进入内容网站首要网站的 网站设置 > 网站集管理 > 网站集功能 中,激活“SharePoint Server 发布基础架构”服务。
2. 在首要网站以“企业搜索中心”为模板创建新网站(假设URL为:http://<ServerName>/SearchCenter)。
3. 在首要网站  网站设置 > 网站集管理 > 搜索设置 中,将“网站集搜索中心”设为:/SearchCenter/Pages,“网站集搜索下拉列表模式”设为:显示范围下拉列表。

另外,我们可能需要将特定范围(如:Word文档)的搜索结果显示在单独的搜索结果页面中,要实现此目的,可按如下步骤操作:
1. 进入:管理中心 > 应用程序管理 > 服务应用程序 > 管理服务应用程序 - Search Service Application,再进入:查询和结果:范围,点击“更改范围设置”,将“目标结果页面”改为特定名称的页面,比如“WordResults.aspx”。
2. 在搜索中心网站,进入:网站操作 > 查看所有网站内容,打开“搜索页中的选项卡”列表,增加新的选项卡:【选项卡名称】=Word文档,【页面】=WordSearch.aspx。同样,在“搜索结果中的选项卡”列表中增加选项卡:【选项卡名称】=Word文档,【页面】=WordResults.aspx
3. 在搜索中心网站“页面”文档库中创建页面“WordSearch.aspx”(标题=搜索Word文档,页面布局=(欢迎页面)搜索框)和“WordResults.aspx”(标题=Word文档搜索结果,页面布局=(欢迎页面)搜索结果)。
4. 打开“WordSearch.aspx”页面,进入到编辑状态,然后编辑“搜索框”Web部件的属性。将“杂项: 目标搜索结果页面URL”属性的值修改为“WordResults.aspx”。
5. 进入“WordResults.aspx”页面,同上进入编辑状态修改搜索框相同属性。再编辑“搜索核心结果”Web部件属性,将“位置属性: 范围”指定为“Word文档”。
6. 完成如上修改后将两个文件都签入为主要版本。

参见:http://blog.joycode.com/kaneboy/archives/2011/04/30/116195.joy

四、配置Microsoft FAST Search Server for SharePoint

参见:http://hanmei.blog.51cto.com/521325/271959

 

五、一些问题的解决

即使正确完成如上配置,可能仍会出现不能查询出结果的情况,现象可能如下:
现象一:点击搜索后,搜索页面提示:
找不到以下项目的任何结果。

现象二:查看日志,有如下信息:
SharePoint Foundation Search   PHSts                          dvb2 High     CSTS3Handler::CreateAccessorExD: Return error to caller, hr=80041205            [sts3handler.cxx:330]  d:\office\source\search\native\gather\protocols\sts3\sts3handler.cxx  
SharePoint Foundation Search   GatherPI                       e5e0 High     advising status change NSC_FLUSH (26d0dfc9-a2a8-4d3a-a600-8a1e519681f2 Search crawl -1)  [gatherobj.cxx:4514]  d:\office\source\search\native\gather\server\gatherobj.cxx  
SharePoint Foundation Search   Gatherer                       cd11 Warning  The start address sts4://11.22.33.44/contentdbid={ef233675-5f26-4d95-ac5f-3bb30cb56246} cannot be crawled.  上下文: 应用程序“搜索服务器上的搜索索引文件”,目录“Search”  详细信息:  访问被拒绝。请验证默认内容访问帐户是否有权访问此库,或添加爬网规则对此库进行爬网。如果正在爬网的库是 SharePoint 库,请验证您所使用的帐户对正在爬网的 SharePoint Web 应用程序是否拥有“完全读取”权限。   (0x80041205) 

现象三:在SharePoint服务器上用公网IP(11.22.33.44)访问SharePoint页面会被拒绝。

对此问题的解决办法为:
1. 在注册表编辑器中,找到并单击下面的注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
2. 右键单击“Lsa”,指向“新建”,然后单击“DWORD 值”。
3. 键入 DisableLoopbackCheck,然后按 Enter。
4. 右键单击 DisableLoopbackCheck,然后单击“修改”。
5. 在“数值数据”框中,键入 1,然后单击“确定”。

参见:http://support.microsoft.com/kb/896861/zh-cn


五、参考文档

1. SharePoint 2010 产品中的企业级搜索入门(白皮书):http://technet.microsoft.com/zh-cn/library/ff631149.aspx
2. 为SharePoint搜索创建自定义优化参数:http://blog.joycode.com/kaneboy/archives/2011/09/23/116276.joy
3. Some tips about crawling large external data with BCS connector:http://blog.joycode.com/kaneboy/archives/2011/10/19/116285.joy

SharePoint配置搜索服务和指定搜索范围