變更 SharePoint Server 2013 中的預設搜尋拓撲

 

適用版本:SharePoint Server 2013

上次修改主題的時間:2017-04-03

摘要:了解如何在 SharePoint Server 2013 中使用 Windows PowerShell,從具有空白搜尋索引的預設搜尋拓撲變更為新的搜尋拓撲。

本文中的程序及範例皆假設 SharePoint Server 2013 及Search Service 應用程式均為新安裝,且 SharePoint Server 2013 搜尋索引中沒有任何內容。本文將說明如何在來自預設搜尋拓撲的新搜尋拓撲中,建立及啟動搜尋元件。

如果 SharePoint Server 2013 搜尋索引中已有項目,請按照<在 SharePoint Server 2013 中管理搜尋元件在 SharePoint Server 2013 中管理索引元件>中的程序進行。

本文內容:

開始之前,請先檢閱下列必要條件。

  • SharePoint Server 2013 已安裝在單一伺服器上,且已建立含有預設搜尋拓撲的Search Service 應用程式。在預設搜尋拓撲中,所有的搜尋元件均位於主控管理中心的伺服器上。

  • 您是 Search Service 應用程式的管理員。

  • 您已經規劃好目標搜尋拓撲。在 SharePoint Server 2013 中規劃企業搜尋架構提供企業中搜尋的逐步指引 (包括硬體需求)。如需網際網路網站的範例伺服器陣列架構和搜尋拓撲,請參閱技術圖 SharePoint Server 2013 的網際網路網站搜尋架構。我們建議您針對企業中的搜尋,根據其搜尋中預期的項目數,規劃目標搜尋拓撲。

  • SharePoint Server 2013 已安裝於所有要主控搜尋元件的伺服器上。您可以在現有部署中建立新的應用程式伺服器或定義應用程式伺服器。伺服器會新增至伺服器陣列,而您則是這些所有伺服器的管理員。

下列清單提供有關將 SharePoint Server 2013 搜尋索引中不含任何內容之預設搜尋拓撲變更為新搜尋拓撲的工作概觀。

  • 確認所有編目皆尚未啟動,且搜尋索引為空白。

  • 在所有您要主控搜尋元件的伺服器上啟動 Search Service 執行個體。

  • 建立新的空白搜尋拓撲。

  • 新增搜尋元件至新的搜尋拓撲。

  • 啟動新的搜尋拓撲。

  • 確認搜尋拓撲正在使用中。

下列程序可在多部伺服器建立並啟動小型企業搜尋拓撲,如目標搜尋拓撲表格中所規劃。小型企業搜尋拓撲可滿足搜尋索引高達 1000 萬個項目。目標搜尋拓撲可使用實體應用程式伺服器上的虛擬機器。本範例中的所有搜尋元件均設有容錯能力,即所有搜尋元件和索引分割區均部署於個別失效網域上之多部實體機器。

此範例中的程序說明如何針對小型企業擴充為建議的搜尋拓撲。如果您要擴充為較大型企業的搜尋拓撲,或適用於網際網路網站的搜尋拓撲,可使用不同的變數遵循相同的程序進行。

目標搜尋拓撲

虛擬機器 A (位於實體應用程式伺服器 X) myserver1.example.com 虛擬機器 B (位於實體應用程式伺服器 X) myserver2.example.com 虛擬機器 C (位於實體應用程式伺服器 Y) myserver3.example.com 虛擬機器 D (位於實體應用程式伺服器 Y) myserver4.example.com

管理元件 1

編目元件 1

內容處理元件 1

分析處理元件 1

查詢處理元件 1

索引元件 1 (屬於索引分割區 0)

管理元件 2

編目元件 2

內容處理元件 2

分析處理元件 2

查詢處理元件 2

索引元件 2 (屬於索引分割區 0)

  1. 確認所有編目皆尚未啟動,且主控管理中心之伺服器上的搜尋索引為空白。

    1. 確認執行此程序的使用者帳戶是否為 Search Service 應用程式的管理員。

    2. 在管理中心的 [應用程式管理] 區段中,按一下 [管理服務應用程式]。

    3. 在「管理服務應用程式」頁面上,按一下服務應用程式清單中的 [Search Service 應用程式]。

    4. 確認搜尋索引為空白。在「搜尋管理」頁面的 [系統狀態] 下方,確認 [可搜尋項目] 顯示為 "0"。

      警告警告:
      如果搜尋索引中有項目存在,請勿繼續執行此程序。
    5. 確認所有編目皆尚未啟動。在「搜尋管理」頁面上,按一下 [正在編目] 下的 [內容來源]。在「管理內容來源」頁面上,確認所有現有內容來源的 [狀態] 欄均顯示為 [閒置]。

  2. 在伺服器陣列中的其一伺服器上啟動 SharePoint 2013 管理命令介面。

    • 若為 Windows Server 2008 R2:

      • 在 [開始] 功能表上,依序按一下 [所有程式]、[Microsoft SharePoint 2013 產品],然後在 [SharePoint 2013 管理命令介面] 上按一下滑鼠右鍵,再按 [以系統管理員身分執行]。

    • 若為 Windows Server 2012:

      1. 在 [開始] 畫面,以滑鼠右鍵按一下 [SharePoint 2013 管理命令介面],然後按一下 [以系統管理員身分執行]。

        如果 [SharePoint 2013 管理命令介面] 不在 [開始] 畫面上:

      2. 以滑鼠右鍵按一下 [電腦] ,再按一下 [所有應用程式],接著以滑鼠右鍵按一下 [SharePoint 2013 管理命令介面] ,然後按一下 [以系統管理員身分執行]。

    如需如何與 Windows Server 2012 互動的詳細資訊,請參閱<Windows Server 2012 的常見管理工作及瀏覽方式>。

  3. 指定您要新增搜尋元件的新伺服器,啟動這些伺服器上的 Search Service 執行個體 (SSI),並建立 Search Service 執行個體的參照。在此程序中,我們已使用列於目標搜尋拓撲表格之伺服器的範例主機名稱 "myserver<n>"。在 Windows PowerShell 命令提示字元處,輸入下列命令:

    $hostA = Get-SPEnterpriseSearchServiceInstance -Identity "myserver1"
    $hostB = Get-SPEnterpriseSearchServiceInstance -Identity "myserver2"
    $hostC = Get-SPEnterpriseSearchServiceInstance -Identity "myserver3"
    $hostD = Get-SPEnterpriseSearchServiceInstance -Identity "myserver4"
    Start-SPEnterpriseSearchServiceInstance -Identity $hostA
    Start-SPEnterpriseSearchServiceInstance -Identity $hostB
    Start-SPEnterpriseSearchServiceInstance -Identity $hostC
    Start-SPEnterpriseSearchServiceInstance -Identity $hostD
    
    
  4. 請稍候,直到所有 Search Service 執行個體均在執行中。在 Windows PowerShell 命令提示字元中,對每個 Search Service 執行個體輸入下列命令,直到命令回復「線上」狀態:

    Get-SPEnterpriseSearchServiceInstance -Identity $hostA
    Get-SPEnterpriseSearchServiceInstance -Identity $hostB
    Get-SPEnterpriseSearchServiceInstance -Identity $hostC
    Get-SPEnterpriseSearchServiceInstance -Identity $hostD
    
  5. 建立新的搜尋拓撲和新搜尋拓撲的參照。在 Windows PowerShell 命令提示字元處,輸入下列命令:

    $ssa = Get-SPEnterpriseSearchServiceApplication
    $newTopology = New-SPEnterpriseSearchTopology -SearchApplication $ssa
    
    
  6. 將所有搜尋元件新增至新的搜尋拓撲。下列 Windows PowerShell 命令會建立新拓撲的搜尋元件,並將其指派至新的伺服器。在此小型企業搜尋拓撲中,有一個索引分割區 (即索引分割區 0),可滿足最多 1000 萬個項目。這會以 New-SPEnterpriseSearchIndexComponent 命令中的 -IndexPartition 參數來表示。索引分割區在虛擬機器 B 和虛擬機器 D 各有一個索引複本。每個索引複本會包含完全相同的搜尋索引,並由不同的實體伺服器所主控,以達成容錯能力。在 Windows PowerShell 命令提示字元處,輸入下列命令:

    New-SPEnterpriseSearchAdminComponent -SearchTopology $newTopology -SearchServiceInstance $hostA
    New-SPEnterpriseSearchCrawlComponent -SearchTopology $newTopology -SearchServiceInstance $hostA
    New-SPEnterpriseSearchContentProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $hostA
    New-SPEnterpriseSearchAnalyticsProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $hostA
    New-SPEnterpriseSearchQueryProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $hostB
    New-SPEnterpriseSearchIndexComponent -SearchTopology $newTopology -SearchServiceInstance $hostB -IndexPartition 0
    New-SPEnterpriseSearchAdminComponent -SearchTopology $newTopology -SearchServiceInstance $hostC
    New-SPEnterpriseSearchCrawlComponent -SearchTopology $newTopology -SearchServiceInstance $hostC
    New-SPEnterpriseSearchContentProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $hostC
    New-SPEnterpriseSearchAnalyticsProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $hostC
    New-SPEnterpriseSearchQueryProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $hostD
    New-SPEnterpriseSearchIndexComponent -SearchTopology $newTopology -SearchServiceInstance $hostD -IndexPartition 0 
    
    
  7. 啟動新的搜尋拓撲。在 Windows PowerShell 命令提示字元處,輸入下列命令:

    Set-SPEnterpriseSearchTopology -Identity $newTopology
    
  8. 請確認新的搜尋拓撲正在使用中。在 Windows PowerShell 命令提示字元處,輸入下列命令:

    Get-SPEnterpriseSearchTopology -SearchApplication $ssa
    
    

    在此範例中,該命令會傳回使用中與非使用中的拓撲概觀:

    TopologyId     : fce8507d-61c6-4498-8038-4fd2d0a62c6e
    CreationDate   : 1/30/2012 2:52:00 AM
    State          : Inactive
    ComponentCount : 6
    
    TopologyId     : b63d48b2-df5c-41be-a7f4-9abaee483611
    CreationDate   : 1/30/2012 4:30:00 AM
    State          : Active
    ComponentCount : 12
    

    在此範例中的先前拓撲和預設拓撲皆列為非使用中。此範例中新的使用中拓撲會有 12 項元件。

  9. 確認新搜尋拓撲的所有元件均運作正常。在 Windows PowerShell 命令提示字元處,輸入下列命令:

    Get-SPEnterpriseSearchStatus -SearchApplication $ssa -Text
    

    此命令應傳回所有使用中的搜尋元件清單。使用中的搜尋元件狀態應顯示為使用中

顯示: