共用方式為


管理索引項目的刪除 (Search Server 2010)

 

適用版本: Search Server 2010

上次修改主題的時間: 2015-03-09

進行完整編目或累加編目時,如果編目程式發生錯誤,Microsoft Search Server 2010 會防止意外刪除索引的內容。系統使用四個刪除原則來控制意外刪除內容。您可以在服務應用程式等級管理四個刪除原則,以指定連續編目中項目的重試次數以及時間。

這些刪除原則位於 Microsoft Search Server 2008 中,不過您無法檢視這些原則,也無法變更原則的值。

我們建議您在進行 Search Server 2010 的一般安裝時,使用下表所列的預設值做為起點。在下列情況中,您可以考慮指定預設值以外的值:

  • 當排定的維護防止對網路資產進行編目。

  • 當伺服器或網路原則延長完成編目所需的時間。

  • 當網路延遲造成編目超過為刪除原則所指定的值。

  • 當您知道之前編目項目的狀態,而且想要將該項目包含在搜尋結果中,無論編目程式目前是否可以使用該項目。

下表顯示原則名稱、字串以及預設值。

刪除原則名稱 字串 預設值

適用於拒絕存取或找不到檔案的刪除原則

ErrorDeleteCountAllowed

ErrorDeleteIntervalAllowed

30

720 小時 (30 天)

適用於所有其他錯誤的刪除原則

ErrorDeleteAllowed

ErrorIntervalAllowed

100

1440 小時 (60 天)

刪除未瀏覽原則

DeleteUnvisitedMethod

1

SharePoint 內容的重新編目原則

RecrawlErrorCount

RecrawlErrorInterval

10

360 小時 (15 天)

下表描述系統為每一個原則執行的動作。

刪除原則名稱 描述

適用於拒絕存取或找不到檔案的刪除原則

當編目程式發生拒絕存取或找不到檔案的錯誤時,如果超過 [ErrorDeleteCountAllowed] 次連續編目發生錯誤,而且自第一次錯誤後的持續時間超過 [ErrorDeleteIntervalAllowed] 小時,就會從索引刪除該項目。如果兩個條件都不符合,則會重試項目。

適用於所有其他錯誤的刪除原則

當編目程式發生拒絕存取或找不到檔案以外的錯誤時,如果超過 [ErrorDeleteAllowed] 次連續編目發生錯誤,而且自第一次錯誤後的持續時間超過 [ErrorIntervalAllowed] 小時,就會從索引刪除該項目。

刪除未瀏覽原則

編目程式會在完整編目期間執行一項刪除未瀏覽的作業,此作業會刪除在目前完整編目中找不到的編目記錄項目。您可以使用 [DeleteUnvisitedMethod] 屬性指定要刪除的項目。可以指定以下三個值:

  • 0,刪除所有尚未查看的項目。

  • 1 (預設值),保留與內容來源中指定的起始位址有相同主機的尚未查看項目,而刪除以下其他主機連結所發現的尚未查看項目。

  • 2,不會刪除任何尚未查看的項目。

SharePoint 內容的重新編目原則

這項原則僅適用於 SharePoint 內容。如果編目程式從 SharePoint 內容資料庫擷取變更時,[RecrawlErrorCount] 次連續編目發生錯誤,而且自第一次錯誤後的持續時間為 [RecrawlErrorInterval] 小時,系統會重新編目該內容資料庫。

使用 Windows PowerShell 檢視和變更刪除原則

  1. 確認符合下列基本需求:請參閱<Add-SPShellAdmin>。

  2. 在 [開始] 功能表上,按一下 [所有程式]。

  3. 按一下 [Microsoft SharePoint 2010 產品]。

  4. 按一下 [SharePoint 2010 管理命令介面]。

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

    $SearchApplication = Get-SPEnterpriseSearchServiceApplication -Identity "<SearchServiceApplicationName>"
    
    $SearchApplication.GetProperty("<PropertyName>")
    
    $SearchApplication.SetProperty("<PropertyName>", <NewValue>)
    
  6. 使用 GetPropertySetProperty Cmdlet,可以為個別的 Search Service 應用程式變更這些屬性值。請為您想變更刪除原則的每一個 Search Service 應用程式重複這個程序。

例如,如果您是搜尋管理員,您知道有一個遠端 Web 伺服器由於硬體故障,目前無法使用,而且安排六個星期進行維修。這段停機時間會造成許多搜尋結果從搜尋索引中移除。當 Web 伺服器恢復正常後,還原移除的搜尋結果將需要 3 天才能完成完整編目。您不希望從索引刪除搜尋結果,而且希望防止系統將資源投入完整編目。因此,您使用以下的程序。

刪除原則範例

  1. 確認符合下列基本需求:請參閱<Add-SPShellAdmin>。

  2. 取得 Search Service 應用程式:$SearchApplication = Get-SPEnterpriseSearchServiceApplication -Identity "<SearchServiceApplicationName>"

  3. 取得屬性的預設值 (預設為 720 小時): $SearchApplication.GetProperty("ErrorDeleteIntervalAllowed")

  4. 將屬性的值設定成 6 個星期 (以 1008 小時表示):$SearchApplication.SetProperty("ErrorDeleteIntervalAllowed", 1008)

  5. 確定新的屬性值 (新的值是 1008 個小時): $SearchApplication.GetProperty("ErrorDeleteIntervalAllowed")

    這個新的屬性值會防止從搜尋索引移除搜尋結果,並避免進行完整編目。