英文原文已於 2012 年 12 月 3 日星期一發佈

我想現在或許有一些關於操作這個項目的資源,不過先前想要尋找的時候有點困難,所以我原本想說就直接貼在這裡。還好我一位優秀的朋友 Knut B. 前陣子跟我提到 PowerShell,所以我才能協助您管理索引分割區。簡單來說,您所要做的是在您要建立分割區或分割區複本的主機上取得搜尋服務執行個體的參照,接著,您會複製現有的搜尋拓撲,並新增其分割區或複本。完成之後,您可以通知 SharePoint 開始使用您建立的拓撲複本。假設您以使用伺服器陣列精靈建立的伺服器陣列做為開始,您將會有一個索引分割區,且該分割區沒有複本。那麼,我們先來看如何新增新搜尋分割區:

# 指定您要新增的新伺服器,然後啟動搜尋服務執行個體:
$newssi = Get-SPEnterpriseSearchServiceInstance -Identity "nameOfServerThatYouWantTheNewPartitionOn"
Start-SPEnterpriseSearchServiceInstance -Identity $newssi
 
# 等待 SSI 開始執行。執行下列命令,直到 SSI 狀態顯示「線上」:
Get-SPEnterpriseSearchServiceInstance -Identity $newssi

既然您已選取想要使用的伺服器,並確定搜尋服務執行個體已執行,就可以複製現有的搜尋拓撲:

# 複製現有的拓撲:
$ssa = Get-SPEnterpriseSearchServiceApplication
$activeTopology=Get-SPEnterpriseSearchTopology -Active -SearchApplication $ssa
$newTopology = New-SPEnterpriseSearchTopology -SearchTopology $activeTopology -SearchApplication $ssa -Clone

只要備妥了複本,您就可以建立新的分割區。不管怎樣,分割區的編號是 0,所以,我們再次假設您已使用精靈,且到目前為止只有一個分割區,那麼,那個分割區的編號就是 0。若要新增第二個分割區至我們所複製的拓撲 (我們將稱之為分割區 1),接著,我們會將複製的拓撲設定為新的搜尋拓撲。

# 新增一個新的索引元件,並指定元件與新的索引分割區 1 相關聯:
New-SPEnterpriseSearchIndexComponent -SearchTopology $newTopology -SearchServiceInstance $newssi -IndexPartition 1
Set-SPEnterpriseSearchTopology -Identity $newTopology

正如您在 New-SPEnterpriseSearchIndexComponent 所見,我們傳遞 $newssi 變數,且該變數位於我們想要建立分割區之指派的伺服器上。在建立分割區之後,我們將在另一個伺服器上虛擬執行完全相同的 PowerShell 來建立複本。由於上面已經解釋過來龍去脈,所以我在這裡只是貼上整個 PowerShell 及其意見回應:

# 指定您想要新增的新伺服器,然後啟動「搜尋服務執行個體」:
$newssi = Get-SPEnterpriseSearchServiceInstance -Identity "nameOfServerThatYouWantTheReplicaOn"
Start-SPEnterpriseSearchServiceInstance -Identity $newssi
 
# 等待 SSI 開始執行。執行下列命令,直到 SSI 狀態顯示「線上」:
Get-SPEnterpriseSearchServiceInstance -Identity $newssi
 
# 複製現有的拓撲:
$ssa = Get-SPEnterpriseSearchServiceApplication
$activeTopology=Get-SPEnterpriseSearchTopology -Active -SearchApplication $ssa
$newTopology = New-SPEnterpriseSearchTopology -SearchTopology $activeTopology -SearchApplication $ssa -Clone
 
# 新增新的索引元件,並指定元件與新的索引分割區 1 相關聯:
New-SPEnterpriseSearchIndexComponent -SearchTopology $newTopology -SearchServiceInstance $newssi -IndexPartition 1
Set-SPEnterpriseSearchTopology -Identity $newTopology

此處要注意的兩個要點:

  1. 在 Get-SPEnterpriseSearchServiceInstance Cmdlet 中,我指出想要裝載分割區複本的伺服器
  2. 在 New-SPEnterpriseSearchIndexComponent Cmdlet 中,我已使用 -IndexPartition 標幟指出該分割區。既然我已具備索引分割區 1,SharePoint 將會為我建立該分割區的複本。

就是這樣!希望您已經了解如何管理您的 SharePoint 2013 搜尋分割區,並再次感謝 Knut 分享 PowerShell。

這是翻譯後的部落格文章。英文原文請參閱 Adding a New Search Partition and Replica in SharePoint 2013