共用方式為


在 SharePoint Server 中管理搜尋元件

適用於:yes-img-132013 yes-img-16 2016yes-img-19 2019yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

本文中的程式和範例假設已安裝 SharePoint ServerSharePoint Server 和 Search Service 應用程式,而且 SharePoint Server 搜尋索引中有現有的搜尋拓撲和專案。 若 SharePoint Server 和 Search Service 應用程式為新安裝,且 SharePoint Server 搜尋索引中沒有項目,請遵循<變更 SharePoint Server 中的預設搜尋拓撲>中的程序。

本文中的程序適用於下列搜尋元件︰

  • 分析處理元件

  • 內容處理元件

  • 編目元件

  • 搜尋管理元件

  • 查詢處理元件

如需管理索引元件之程序的資訊,請參閱<在 SharePoint Server 中管理索引元件>。

開始之前

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

  • 已安裝 SharePoint Server,並已建立具備搜尋拓撲的 Search Service 應用程式。 Search Service 應用程式處於狀況良好狀態,未因任何原因而暫停。

  • 正在執行本文中程序的使用者帳戶是 伺服器陣列管理員 群組的成員。

  • 您已規劃目標搜尋拓樸。

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

重要事項

[!重要事項] 本文中的程序使用 Microsoft PowerShell。 您可以在伺服器陣列中的任何伺服器上執行 Microsoft PowerShell 命令。 不過,如果您要執行多個搜尋拓撲程式,您應該針對所有Microsoft PowerShell 命令使用相同的 SharePoint 管理命令介面,以便在命令之間共用Microsoft PowerShell 物件參考。

在伺服器上啟動 Search Service 執行個體

您必須先在伺服器上啟動 Search Service 執行個體,才能在新的伺服器上新增搜尋元件。 Search Service 執行個體會啟動 Search Service 使用之所有必要的 Windows 服務 (OSearch16 和 SPSearchHostController)。

啟動 Search Service 執行個體

  1. 確認執行此程序的使用者帳戶為伺服器陣列管理員群組的成員。

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

  3. 在 Microsoft PowerShell 命令提示字元處,輸入下列命令:

    $<host n > = Get-SPEnterpriseSearchServiceInstance -Identity "<Server name>"
    Start-SPEnterpriseSearchServiceInstance -Identity $<host n >
    

    其中:

    • $ <主機 n> 指定 Search Service 執行個體的 PowerShell 物件參照。

    • <伺服器名稱> 指定您要新增索引元件的伺服器。 輸入必須是格式為的有效 GUID、 12345678-90ab-cdef-1234-567890bcdefgh伺服器的有效名稱 (例如 myserver1 ) ;或有效 SearchServiceInstance 物件的實例。

    例如:

    $hostA = Get-SPEnterpriseSearchServiceInstance -Identity "myserver1"
    $hostB = Get-SPEnterpriseSearchServiceInstance -Identity "myserver2"
    Start-SPEnterpriseSearchServiceInstance -Identity $hostA
    Start-SPEnterpriseSearchServiceInstance -Identity $hostB 
    
    

    當您新增搜尋元件時,您可以使用 $<host n>) ( 參考來指定目標伺服器。

  4. 等到所有的 Search Service 執行個體都在執行。 針對每個 Search Service 執行個體,在 Microsoft PowerShell 命令提示字元輸入下列命令,直到命令傳回 連線 狀態︰

    Get-SPEnterpriseSearchServiceInstance -Identity $<host n >
    
    

    例如:

    Get-SPEnterpriseSearchServiceInstance -Identity $hostA
    TypeName    : SharePoint Server Search
    Description : Index content and serve search queries
    Id          : 82ce8815-ecbd-4cf3-a98e-33f20bd86039
    Server      : SPServer Name=myserver1.example.com
    Service     : SearchService Name=OSearch16
    Role        : None
    Status      : Online
    
    

擷取使用中的搜尋拓撲

若要檢視 Search Service 應用程式使用中的搜尋拓撲,您必須使用 Microsoft PowerShell。

檢視使用中的搜尋拓撲

  1. 確認執行此程序的使用者帳戶為伺服器陣列管理員群組的成員。

  2. 啟動 SharePoint 管理命令介面。 若已有開啟的 SharePoint 管理命令介面,且在其中已建立可重複使用的 Microsoft PowerShell 物件參照,則使用開啟的命令介面。

  3. 在 Microsoft PowerShell 命令提示字元處,輸入下列命令:

    $ssa = Get-SPEnterpriseSearchServiceApplication
    $active = Get-SPEnterpriseSearchTopology -Active -SearchApplication $ssa 
    $active
    

命令會傳回使用中拓撲的相關信息,例如: TopologyId : 2d7bb046-1ad4-43a9-9984-754c4551a3ec CreationDate : 1/25/2016 3:06:00 AM State : Active ComponentCount : 6

擷取搜尋元件清單

若要檢視使用中搜尋拓撲中的搜尋元件清單及其屬性,您必須使用 Microsoft PowerShell。 其中一個搜尋元件屬性是搜尋元件標識碼。您只需要搜尋元件標識碼即可移除搜尋元件。

檢視所有搜尋元件清單

  1. 確認執行此程序的使用者帳戶為伺服器陣列管理員群組的成員。

  2. 啟動 SharePoint 管理命令介面。 如果您已經有已建立可重複使用的 SharePoint 管理命令介面對象參考的開啟 SharePoint 管理命令介面,請改用開啟的殼層。

  3. 在 Microsoft PowerShell 命令提示字元處,輸入下列命令:

    $ssa = Get-SPEnterpriseSearchServiceApplication
    $active = Get-SPEnterpriseSearchTopology -SearchApplication $ssa -Active
    Get-SPEnterpriseSearchComponent -SearchTopology $active
    

    該命令會以傳回使用中搜尋拓撲的搜尋元件與其屬性的清單。

複製使用中的搜尋拓撲

若要對搜尋索引已存在項目之搜尋安裝中的搜尋拓撲做出任何變更,您必須先建立新的拓撲物件。 新的拓撲物件是使用中拓撲的複製,您可藉由新增或移除搜尋元件來修改這個新的拓撲物件。 在變更複製的拓撲物件後,再使得該複製成為使用中拓撲。

複製使用中的拓撲

  1. 確認執行此程序的使用者帳戶為伺服器陣列管理員群組的成員。

  2. 啟動 SharePoint 管理命令介面。 若已有開啟的 SharePoint 管理命令介面,且在其中已建立可重複使用的 Microsoft PowerShell 物件參照,則使用開啟的命令介面。

  3. 在 Microsoft PowerShell 命令提示字元處,輸入下列命令:

    $ssa = Get-SPEnterpriseSearchServiceApplication
    $active = Get-SPEnterpriseSearchTopology -SearchApplication $ssa -Active
    $clone = New-SPEnterpriseSearchTopology -SearchApplication $ssa -Clone -SearchTopology $active
    

    如果您繼續使用相同的 SharePoint 管理命令介面來新增或移除搜尋元件,以及啟用搜尋拓撲,此命令會建立可與 $clone 參考的複製搜尋拓撲。

  4. (選用) 若要從搜尋拓撲移除搜尋元件,則必須擷取搜尋元件識別碼。在 Microsoft PowerShell 命令提示字元處,輸入下列命令:

    Get-SPEnterpriseSearchComponent -SearchTopology $clone
    

    該命令會傳回複製搜尋拓撲的搜尋元件與其屬性的清單,包含搜尋元件識別碼。

新增搜尋元件

您無法直接變更使用中的搜尋拓撲。 此程序假設您已如複製使用中的搜尋拓撲中所述,建立複製的拓撲物件。 您可針對每個搜尋元件使用下列 Microsoft PowerShell Cmdlet:

  • New-SPEnterpriseSearchAdminComponent

  • New-SPEnterpriseSearchAnalyticsProcessingComponent

  • New-SPEnterpriseSearchContentProcessingComponent

  • New-SPEnterpriseSearchCrawlComponent

  • New-SPEnterpriseSearchQueryProcessingComponent

注意事項

[!附註] 新增索引元件的程序有所不同。 如需詳細資訊,請參閱<在 SharePoint Server 中管理索引元件>。

新增搜尋元件

  1. 確認執行此程序的使用者帳戶為伺服器陣列管理員群組的成員。

  2. 啟動 SharePoint 管理命令介面。 若已有開啟的 SharePoint 管理命令介面,且在其中已建立可重複使用的 Microsoft PowerShell 物件參照,則使用開啟的命令介面。

  3. 在 Microsoft PowerShell 命令提示字元處,輸入下列命令:

    New-SPEnterpriseSearch<SearchComponent> -SearchTopology $clone -SearchServiceInstance $<host n >
    

    其中:

    例如,下列命令會在伺服器上的複製拓撲中新增內容處理元件,而伺服器是以 Search Service 執行個體參照 $hostA 做為識別。

    New-SPEnterpriseSearchContentProcessingComponent -SearchTopology $clone -SearchServiceInstance $hostA
    
  4. 請確認已將新的搜尋元件新增至複製的拓撲。 在 Microsoft PowerShell 命令提示字元處,輸入下列命令:

    Get-SPEnterpriseSearchComponent -SearchTopology $clone
    

移除搜尋元件

若要移除搜尋元件,您必須使用 Windows PowerShell。 您無法直接變更使用中的搜尋拓撲。 此程序假設您已如複製使用中的搜尋拓撲中所述,建立複製的拓撲物件。

注意事項

[!附註] 移除索引元件的程序有所不同。 如需詳細資訊,請參閱<在 SharePoint Server 中管理索引元件>。

移除搜尋元件

  1. 確認執行此程序的使用者帳戶為伺服器陣列管理員群組的成員。

  2. 啟動 SharePoint 管理命令介面。 若已有開啟的 SharePoint 管理命令介面,且在其中已建立可重複使用的 Microsoft PowerShell 物件參照,則使用開啟的命令介面。

  3. 確認目前使用中的拓撲狀況良好,且要移除之搜尋元件的狀態為 作用中 。 在管理中心的 [搜尋管理] 頁面中檢視搜尋拓撲的狀態,或執行 Windows PowerShell Cmdlet Get-SPEnterpriseSearchStatus

  4. 在 Microsoft PowerShell 命令提示字元處,輸入下列命令:

    Remove-SPEnterpriseSearchComponent -Identity <Search component id> -SearchTopology $clone
    

    其中:

  5. 出現提示時,請確認您要移除該搜尋元件。

移動搜尋元件

若要在伺服器之間移動搜尋元件,建議您先在搜尋拓撲中新增搜尋元件,然後再移除舊的搜尋元件。

移動搜尋元件

  1. 複製使用中的搜尋拓撲。 請參閱複製使用中的搜尋拓撲

  2. 將搜尋元件新增至最終要裝載該搜尋元件的伺服器。 請參閱新增搜尋元件

  3. 啟動搜尋拓撲。 此拓撲會有一個非必要的搜尋元件。 請參閱啟動搜尋拓撲

  4. 確認目前使用中的拓撲狀況良好。 在管理中心的 [搜尋管理] 頁面中檢視搜尋拓撲的狀態,或執行 Windows PowerShell Cmdlet Get-SPEnterpriseSearchStatus

  5. 再次複製搜尋拓撲。 請參閱複製使用中的搜尋拓撲

  6. 移除非必要的搜尋元件。 請參閱移除搜尋元件

  7. 再次啟用搜尋拓撲。 請參閱啟動搜尋拓撲

啟動搜尋拓撲

若要啟動搜尋拓撲,您必須使用 Windows PowerShell。

啟動搜尋拓撲

  1. 確認執行此程序的使用者帳戶為伺服器陣列管理員群組的成員。

  2. 啟動 SharePoint 管理命令介面。 若已有開啟的 SharePoint 管理命令介面,且在其中已建立可重複使用的 Microsoft PowerShell 物件參照,則使用開啟的命令介面。

  3. 在 Microsoft PowerShell 命令提示字元處,輸入下列命令:

    Set-SPEnterpriseSearchTopology -Identity $clone
    

    其中:

  4. 確認新的拓撲為使用中。 在 Windows PowerShell 命令提示字元處,輸入下列命令:

    Get-SPEnterpriseSearchTopology -Active -SearchApplication $ssa
    

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

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

    您將會見到使用中拓撲的元件計數會反映所做的變更。