在 SharePoint 2013 中添加新的搜索分区和副本

原文发布于 2012 年 12 月 3 日(星期一)

我觉得其他某个地方可能现在提供了与这篇文章相关的资源,而我之前在查找这些资源时发现很难找到它们,因此我想还是在这里发布这篇文章好了。幸运的是,我的朋友 Knut B. 在不久之前为我提供了一些 PowerShell 来帮助我管理索引分区,他简直太好了。简单来说,您需要做的就是获取对要创建分区或分区副本的主机上的 Search Service 实例的引用,然后克隆现有搜索拓扑并将您的分区或副本添加到其中。完成此操作后,您可以指示 SharePoint 开始使用您创建的拓扑的克隆。假设您从使用服务器场向导创建的服务器场开始操作,您将具有一个索引分区,并且该分区没有副本。下面,我们先来了解一下如何添加新的搜索分区:

# 指定要添加的新服务器并启动 Search Service 实例:
$newssi = Get-SPEnterpriseSearchServiceInstance -Identity "nameOfServerThatYouWantTheNewPartitionOn"
Start-SPEnterpriseSearchServiceInstance -Identity $newssi

# 等待 SSI 运行。运行以下命令直至 SSI 状态指示“联机”:
Get-SPEnterpriseSearchServiceInstance -Identity $newssi

现在您已选择要使用的服务器,并且您已知道 Search Service 实例正在该服务器上运行,您可以克隆现有搜索拓扑:

# 克隆现有拓扑:
$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 并对其进行注释:

# 指定要添加的新服务器并启动 Search Service 实例:
$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 以查看原文