配置SharePoint 2013 Search 拓扑结构
在单台服务器上安装了 SharePoint Server 2013,并且创建了具有默认搜索拓扑的 Search Service 应用程序。在默认搜索拓扑中,所有搜索组件都位于承载管理中心的服务器上。SharePoint 2013中的搜索具备了非常强大的功能,但所消耗的资源也是巨大的。所以,在具备硬件条件下,合理的规划SharePoint 2013搜索拓扑结构是非常有必要的。
要规划搜索的拓扑结构,那么有必要先了解SharePoint Farm的拓扑结构。
规划SharePoint搜索拓扑结构
下图是我去年实施的一个SharePoint Farm,将Database和SharePoint的分离:

在默认搜索拓扑中,所有搜索组件都位于承载管理中心的服务器上,进入到SharePoint Central Administration可以一看究竟,如下图默认的Search Application Topology:

如今需要在此基础上配置搜索,考虑到SharePoint 2013搜索需要占用大量的资源,故再增加一台APP服务器,用来承载搜索和其他Service Application角色,拓扑结构如下所示:

其中查询处理组件用来处理用户的请求,我将他部署在WFE服务器上,同时为了提高性能和效率,我也将索引组件部署在了WFE服务器上。
由于新增加的APP 服务器具备非常强劲的性能,将承载如下搜索组件
- 分析处理组件
- 内容处理组件
- 爬网组件
- 搜索管理组件
更改默认搜索拓扑
1.准备工作
SharePoint 2013更改默认的搜索拓扑必须使用PowerShell,在Central Administration中并没有提供界面。
首先你执行PowerShell(即登陆OS的账号)必须是如下两者之一:
- 是 Farm Administrators 组的成员
- 是 Search Service Application的管理员
并且确保没有启动任何爬网并且搜索索引为空。
详情:https://technet.microsoft.com/zh-CN/library/jj862356.aspx#begin
2.移动搜索组件
如果要将搜索组件从一台服务器移到另一台服务器,则先向搜索拓扑添加新的搜索组件,然后再删除旧的搜索组件。
具体的操作步骤如下:
- 克隆活动搜索拓扑。
- 将新的搜索组件添加到你最终希望其托管此搜索组件的服务器。
- 激活搜索拓扑。此拓扑将具有一个不必要的搜索组件。
- 确保当前活动拓扑运行正常。在"管理中心"的"搜索管理"页中查看搜索拓扑的状态或运行 Windows PowerShell cmdlet Get-SPEnterpriseSearchStatus。
- 再次克隆搜索拓扑。
- 删除不必要的搜索组件。
- 再次激活搜索拓扑。
完整的PowerShell如下:
Add-PSSnapin Microsoft.SharePoint.PowerShell # 1. 克隆一个激活的搜索拓扑 $ssa=Get-SPEnterpriseSearchServiceApplication $active=Get-SPEnterpriseSearchTopology -SearchApplication $ssa -Active $clone=New-SPEnterpriseSearchTopology -SearchApplication $ssa -Clone -SearchTopology $active #此时新的搜索拓扑的状态为未激活 # 2.将新的搜索组件添加到你最终希望其托管此搜索组件的服务器 $app01 = Get-SPEnterpriseSearchServiceInstance -Identity "Your APP Server Name" #New-SPEnterpriseSearchAdminComponent -SearchTopology $clone -SearchServiceInstance $app01# #New-SPEnterpriseSearchCrawlComponent -SearchTopology $clone -SearchServiceInstance $app01# #New-SPEnterpriseSearchContentProcessingComponent -SearchTopology $clone -SearchServiceInstance $app01# New-SPEnterpriseSearchAnalyticsProcessingComponent -SearchTopology $clone -SearchServiceInstance $app01 # 3.启动APP Server上的Search Service Instance Start-SPEnterpriseSearchServiceInstance -Identity $app01 #4.激活搜索拓扑 Set-SPEnterpriseSearchTopology -Identity $clone #5.因为无法在当前搜索拓扑状态为Active下进行后续操作,故再次克隆搜索拓扑 $ssa=Get-SPEnterpriseSearchServiceApplication $active=Get-SPEnterpriseSearchTopology -SearchApplication $ssa -Active $clone=New-SPEnterpriseSearchTopology -SearchApplication $ssa -Clone -SearchTopology $active #6得到要被删除的组件Id $component=Get-SPEnterpriseSearchComponent -SearchTopology $clone -Identity "Your Component Name" $componentId=$component.ComponentId #7.移除搜索组件 Remove-SPEnterpriseSearchComponent -Identity $componentId.Guid -SearchTopology $clone -Confirm:$false #再次激活新创建的搜素拓扑 Set-SPEnterpriseSearchTopology -Identity $clone
可以使用如下PowerShell来添加搜索组件
- New-SPEnterpriseSearchAdminComponent
- New-SPEnterpriseSearchAnalyticsProcessingComponent
- New-SPEnterpriseSearchContentProcessingComponent
- New-SPEnterpriseSearchCrawlComponent
- New-SPEnterpriseSearchQueryProcessingComponent
执行完以上PowerShell脚本之后,即更改了默认的搜索拓扑,进入Central Administration一看究竟:

可以看出App Server承载了耗费资源的搜索组件,并且查询处理组件和索引组件在同一台Server上有利于性能的提升。
小结
配置完搜索拓扑之后,可以放心大胆的爬网了,具体可以参考这篇文章——
配置SharePoint 2013 Search 拓扑结构的更多相关文章
- 修复SharePoint 2013 Search 拓扑错误
Problem 当创建和配置SharePoint 2013 Search Service Application成功之后,进入详细配置页后,在Search Application Topology节点 ...
- SharePoint 2013 Search 配置总结
前言:SharePoint 2013集成了Fast搜索以后,搜索的配置有了些许改变,自己在配置过程中,也记录下了一些入门的东西,希望能够对大家有所帮助. 1.配置搜索服务,首先需要启用搜索功能,基本思 ...
- SharePoint 2013 Search REST API 使用示例
前言:在SharePoint2013中,提供Search REST service搜索服务,你可以在自己的客户端搜索方法或者移动应用程序中使用,该服务支持REST web request.你可以使用K ...
- 探索 SharePoint 2013 Search功能
转载: http://www.cnblogs.com/OceanEyes/p/SharePont-2013-Search-Develop.html SharePoint 2013的搜索功能很强大,特别 ...
- 转载 SharePoint 2013 Search功能
转载原出处: http://www.cnblogs.com/OceanEyes/p/SharePont-2013-Search-Develop.html 阅读目录 启用Search Service A ...
- SharePoint 2013: Search Architecture in SPC202
http://social.technet.microsoft.com/wiki/contents/articles/15989.sharepoint-2013-search-architecture ...
- Customize the SharePoint 2013 search experience with a Content Enrichment web service
Did you ever wish you had more control over how your content is indexed and presented as search resu ...
- 安装和配置SharePoint 2013 Workflow
SharePoint 2013中的工作流概述 在SharePoint 2013中,Workflow(建立在Windows Workflow Foundation 4.5)和WCF承载在Workflow ...
- sharepoint 2013 search configuration
在建立search application之前完成以下命令 $hostA = Get-SPEnterpriseSearchServiceInstance -Identity "WTCSPS0 ...
随机推荐
- dmesg
在开机的时候你会发现有很多的讯息出现吧,例如 CPU 的形式.硬盘. 光盘型号及硬盘分割表等等,这 些信息的产生都是核心 (kernel) 在进行硬件的测试与驱动啦.要看这些讯息你可以用 dmesg ...
- CIDR-Address介绍
CIDR是一种用二进制表示法来代替十进制表示法的新方法. IP地址有“类”的概念,/8掩码是A类,/16掩码是B类,/24掩码是C类等等.但是/12,/18,/25呢?这就是无类的概念了,CIDR的作 ...
- hdu 2196 computer
Computer Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- JavaScript实例
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...
- 【Android UI设计与开发】第05期:引导界面(五)实现应用程序只启动一次引导界面
[Android UI设计与开发]第05期:引导界面(五)实现应用程序只启动一次引导界面 jingqing 发表于 2013-7-11 14:42:02 浏览(229501) 这篇文章算是对整个引导界 ...
- (引用 )自动化测试报告HTMLtestrunner
1>下载HTMLTestRunner.py文件,地址为: http://tungwaiyip.info/software/HTMLTestRunner.html Windows平台: 将下载 ...
- IQKeyboardManager在某个页面取消键盘上面的Toolbar
使用IQKeyboardManager的时候,如果想在某个页面取消键盘上面的Toolbar,请使用如下方法,按控制器去操作 // 取消IQKeyboardManager Toolbar [[IQKey ...
- c语言检测文件是否存在int __cdecl access(const char *, int);
最近写代码,遇到很多地方需要判断文件是否存在的.网上的方法也是千奇百怪,“百家争鸣”. fopen方式打开的比较多见,也有其他各种方式判断文件是否存在的,由于其他方法与本文无关,所以不打算提及. 笔者 ...
- three.js 源码注释(三十九)Light/HemisphereLight.js 半球光、 自然光(天光效果)
/*** * HemisphereLight类 是在场景中创建半球光,就是天光效果,经常用在室外,将各个位置的物体都照亮,室内的光线大多是方向性的, * 无论是窗口还是灯槽,用平面光很方便,室外用平面 ...
- IOS 代码块传值
#import <UIKit/UIKit.h> typedef void (^MyBlock)(NSString*); @interface SecondViewController : ...