在单台服务器上安装了 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. 比较详细PHP生成静态页面教程

    一,PHP脚本与动态页面. PHP脚本是一种服务器端脚本程序,可通过嵌入等方法与HTML文件混合, 也可以类,函数封装等形式,以模板的方式对用户请求进行处理.无论以何种方式,它的基本原理是这样的.由客 ...

  2. construction of tuples containing 0 or 1 items

    [construction of tuples containing 0 or 1 items] the syntax has some extra quirks to accommodate the ...

  3. [转载] 4. JebAPI 之 jeb.api.ui

    本文转载自: https://www.zybuluo.com/oro-oro/note/145250 JebInstance可以通过getUI()方法来获得jeb.api.ui.JebUI. JebU ...

  4. 高频交易策略之Penny Jump[z]

    高频交易策略之Penny Jump 今天假设有一个笨笨的大型机构投资人(共同基金,银行,退休基金....),他想要买进一只股票,但又不想挂市价买进,所以就在市场里面挂了一张要买进的大单.这时候所有市场 ...

  5. Android消息机制:Looper,MessageQueue,Message与handler

    Android消息机制好多人都讲过,但是自己去翻源码的时候才能明白. 今天试着讲一下,因为目标是讲清楚整体逻辑,所以不追究细节. Message是消息机制的核心,所以从Message讲起. 1.Mes ...

  6. HDU 2689Sort it 树状数组 逆序对

    Sort it Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Sub ...

  7. Codeforces 714C. Sonya and Queries Tire树

    C. Sonya and Queries time limit per test:1 second memory limit per test: 256 megabytes input:standar ...

  8. python 字符串函数

    split函数:将字符串分割成序列 str.split("分隔符") 一般可以这样用 list = [n  for n in str.split],这样可以得到一个新的序列 str ...

  9. jQueryEasyUI

    jQueryEasyUI 编辑 jQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面.开发者 ...

  10. 关于IE8及其以下的IE版本不支持getElementsByClassName

    之前做一下项目的时候知道IE8以及其以下的版本不支持getElementsByClassName,于是乎自己写了一个函数重新定义getElementsByClassName,函数代码如下: funct ...