在单台服务器上安装了 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. 使用SftpDrive+SourceInsight阅读开源代码

    在虚拟机环境下使用Linux编写和阅读代码,我之前一直是通过Xshell利用ssh登录至虚拟机从而在命令行下使用vim来进行的.目前有阅读开源代码的需要,虽然vim+ctags+cscope可以完成这 ...

  2. Swift3.0基础语法学习<二>

    对象和类: // // ViewController2.swift // SwiftBasicDemo // // Created by 思 彭 on 16/11/15. // Copyright © ...

  3. Elasticsearch refresh vs. flush【转载】

    源地址:    http://www.jianshu.com/p/0e9f6346f1fe 问: 若一个新的文档索引进ES索引,则它在索引操作执行后约1s可以搜索到.然而我们可以直接调用_flush或 ...

  4. DUILIB 背景贴图

    贴图的描述 方式有两种    // 1.aaa.jpg    // 2.file='aaa.jpg' res='' restype='0' dest='0,0,0,0' source='0,0,0,0 ...

  5. JS向光标指定位置插入内容

    方法: function insertHtmlAtCaret(html) { var sel, range; if (window.getSelection) { // IE9 and non-IE ...

  6. Python:装饰器

    格式:在执行的参数前加上@functon 例1:传一个参数 #模拟验证功能 def login(auth): def fun(arg): #为了避免程序一执行的时候就执行验证,需要再加一层函数. pr ...

  7. andorid 远程存储中JDK和Volley的GET和POST方法

    在操作Volley的时候先添加volley.jar(包) <uses-permission android:name="android.permission.INTERNET" ...

  8. oracle中的数据对象

    oracle中的数据对象有表.视图.索引.序列等 表的相关操作 1.创建表 方式一: 方式二:create table person( create table person1 id number(1 ...

  9. canvas 画六边形边框

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. DateTools时间插件

    import java.text.DateFormat;import java.text.ParsePosition;import java.text.SimpleDateFormat;import ...