在单台服务器上安装了 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 拓扑结构的更多相关文章

  1. 修复SharePoint 2013 Search 拓扑错误

    Problem 当创建和配置SharePoint 2013 Search Service Application成功之后,进入详细配置页后,在Search Application Topology节点 ...

  2. SharePoint 2013 Search 配置总结

    前言:SharePoint 2013集成了Fast搜索以后,搜索的配置有了些许改变,自己在配置过程中,也记录下了一些入门的东西,希望能够对大家有所帮助. 1.配置搜索服务,首先需要启用搜索功能,基本思 ...

  3. SharePoint 2013 Search REST API 使用示例

    前言:在SharePoint2013中,提供Search REST service搜索服务,你可以在自己的客户端搜索方法或者移动应用程序中使用,该服务支持REST web request.你可以使用K ...

  4. 探索 SharePoint 2013 Search功能

    转载: http://www.cnblogs.com/OceanEyes/p/SharePont-2013-Search-Develop.html SharePoint 2013的搜索功能很强大,特别 ...

  5. 转载 SharePoint 2013 Search功能

    转载原出处: http://www.cnblogs.com/OceanEyes/p/SharePont-2013-Search-Develop.html 阅读目录 启用Search Service A ...

  6. SharePoint 2013: Search Architecture in SPC202

    http://social.technet.microsoft.com/wiki/contents/articles/15989.sharepoint-2013-search-architecture ...

  7. 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 ...

  8. 安装和配置SharePoint 2013 Workflow

    SharePoint 2013中的工作流概述 在SharePoint 2013中,Workflow(建立在Windows Workflow Foundation 4.5)和WCF承载在Workflow ...

  9. sharepoint 2013 search configuration

    在建立search application之前完成以下命令 $hostA = Get-SPEnterpriseSearchServiceInstance -Identity "WTCSPS0 ...

随机推荐

  1. webform页面传值和删除修改

    一.webform跨页面传值1.内置对象地址栏数据拼接 QueryString 优点:简单好用:速度快:不消耗服务器内存. 缺点:只能传字符串:保密性差(调转页面后在地址栏显示):长度有限.响应请求对 ...

  2. 把表里的数据转换为insert 语句

    当表里面有数据时,怎么把表里的数据转换为insert 语句 (从别人那里看来的用SQLServer 2008 R2测试可用) CREATE PROC spGenInsertSQL @TableName ...

  3. scrollview做定时来回滚动时,总出现错位的情况。

    方法1:self.edgesForExtendedLayout = UIRectEdgeNone; 方法2:    self.automaticallyAdjustsScrollViewInsets ...

  4. dynamic2016 crm 安装语言包提示缺少组件报错

    当安装dynamic2016 CRM英文语言包安装成功后,在系统切换语言的时候提示如下报错为缺少CRM reporting extensions 插件导致,在CRM的解压安装包如下路径找到对应的执行文 ...

  5. 用PHP实现URL转换短网址的算法示例

    短网址就是把一个长的地址转换在超级短的网址,然后访问短网址即可跳转到长网址了,下面来看用PHP实现URL转换短网址的算法与例子. 短网址(Short URL) ,顾名思义就是在形式上比较短的网址.在W ...

  6. 怎样把windows中安装的程序列出来?

    症状/问题我怎样把windows中安装的程序信息输出到一个文本文件中?解决方法使用 windows 操作系统中的命令:wmic就可以做到.下面的命令就可以把系统中安装的程序都输出到文件ProgramL ...

  7. 对比DOM和jQuery完善度

    <input type="text" id="username" value="请输入你的用户名"> <script> ...

  8. 实现毛玻璃模糊效果/DRNRealTimeBlur

    四种方法:1.美工出图  2.coreImage框架,高斯效果 3.ToolBar,覆盖在view上边 //1.添加图片 self.imageView.image = [UIImage imageNa ...

  9. java if语句练习

    第一题:求一元二次方程的根 public class Lianxi1 { public static void main(String[] args) { System.out.println(&qu ...

  10. HTML5的touch事件

    HTML5中新添加了很多事件,但是由于他们的兼容问题不是很理想,应用实战性不是太强,所以在这里基本省略,咱们只分享应用广泛兼容不错的事件,日后随着兼容情况提升以后再陆续添加分享.今天为大家介绍的事件主 ...