配置SharePoint 2013 Search 拓撲結構


在單台服務器上安裝了 SharePoint Server 2013,並且創建了具有默認搜索拓撲的 Search Service 應用程序。在默認搜索拓撲中,所有搜索組件都位於承載管理中心的服務器上。SharePoint 2013中的搜索具備了非常強大的功能,但所消耗的資源也是巨大的。所以,在具備硬件條件下,合理的規划SharePoint 2013搜索拓撲結構是非常有必要的。

要規划搜索的拓撲結構,那么有必要先了解SharePoint Farm的拓撲結構。

規划SharePoint搜索拓撲結構

下圖是我去年實施的一個SharePoint Farm,將DatabaseSharePoint的分離:

在默認搜索拓撲中,所有搜索組件都位於承載管理中心的服務器上,進入到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功能

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM