在 SharePoint Server 中編目的最佳做法

適用于:yes-img-132013 yes-img-16 2016yes-img-192019 yes-img-se訂閱版本 no-img-sopMicrosoft 365 中的 SharePoint

瞭解在 SharePoint Server 中編目的最佳做法。

搜尋系統會編目內容,以建立可供使用者用來執行搜尋查詢的搜尋索引。 本文包含有關如何有效管理編目的建議。

瞭解如何 在 Microsoft 365 中手動要求 SharePoint 的編目和重新編制索引

使用預設內容存取帳戶來編目大部分的內容

預設內容存取帳戶是您為 SharePoint Server 指定的網域帳戶,搜尋服務預設用於編目。 為了簡單起見,最好盡量使用此帳戶編目您的內容來源所指定的內容。 若要變更預設內容存取帳戶,請參閱 變更在 SharePoint Server 中編目的預設帳戶

當您無法使用預設內容存取帳戶來編目特定 URL (例如,基於安全理由),可以建立編目規則以指定下列其中一種替代方式來驗證編目程式:

  • 不同的內容存取帳戶

  • 用戶端憑證

  • 表單認證

  • 編目的 Cookie

  • 匿名存取

如需詳細資訊,請參閱<管理 SharePoint Server 中的編目規則>。

有效使用內容來源

內容來源是搜尋服務應用程式中的一組選項,可用來指定下列每個元件:

  • 一或多個要編目的起始位址。

  • 起始位址中的內容類型 (例如 SharePoint Server 網站、檔案共用或企業營運資料) 。 您僅可以在內容來源中指定一種要編目的內容。 例如,您會使用一個內容來源來編目 SharePoint Server 網站,並使用不同的內容來源來編目檔案共用。

  • 完整或累加編目的編目排程和編目優先順序,將會套用至內容來源所指定的所有內容存放庫。

當您建立 Search Service 應用程式時,搜尋系統會自動建立並設定一個名為 [本機 SharePoint 網站] 的內容來源。 此預先設定的內容來源用於編目使用者設定檔,以及編目與搜尋服務應用程式相關聯之 Web 應用程式中的所有 SharePoint Server 網站。 您也可以使用此內容來源來編目其他 SharePoint Server 伺服器陣列中的內容,包括 SharePoint Server 2007 伺服器陣列、SharePoint Server 2010 伺服器陣列、SharePoint Server 2013 伺服器陣列或其他 SharePoint Server 伺服器陣列。

當您想要執行下列任何工作時,請建立額外的內容來源:

  • 編目其他類型的內容

  • 限制或增加要編目的內容量

  • 增加或減少編目特定內容的頻率

  • 針對編目特定內容設定不同的優先順序 (此需求適用于完整和增量編目,但不適用於連續編目)

  • 以不同的排程編目特定內容 (此需求適用于完整和增量編目,但不適用於連續編目)

但是,為讓管理工作盡量保持簡單,建議您限制建立和使用的內容來源數目。

使用內容來源以排定編目

您可以編輯預先設定的內容來源 [本機 SharePoint 網站] 以指定編目排程;預設不會指定編目排程。 對於任何內容來源,您可以手動啟動編目,但是建議您排定累加編目或啟用連續編目,以確保定期編目該內容。

基於下列原因,請考慮使用不同的內容來源,在不同的排程編目內容。

  • 配合伺服器停機與伺服器尖峰用量時段。

  • 將裝載於速度較慢之伺服器上的內容,和裝載於速度較快之伺服器上的內容分開編目。

  • 頻繁編目較常進行更新的內容。

將內容編目可大幅降低裝載內容之伺服器的效能。 效果取決於主機伺服器是否有足夠的資源 (特別是 CPU 和 RAM) 可處理負載。 因此,當您規劃編目排程時,請考慮採用下列最佳作法:

編目 SharePoint Server 網站之前編目使用者設定檔

根據預設,在伺服器陣列的第一個 Search Service 應用程式中,預先定義的內容來源 [本機 SharePoint 網站] 至少包含下列兩個起始位址:

  • https://webAppUrl,用於編目針對現有 Web 應用程式指定的預設區域 URL (的)

  • sps3s://myWebAppUrl,用於編目使用者設定檔

不過,如果您要部署「人員搜尋」,建議您為起始位址 sps3s://myWebAppUrl 建立個別的內容來源,並先針對該內容來源執行編目。 編目執行的原因是,在編目執行完成之後,搜尋系統會產生清單來標準化人員的名稱。 如此一來,當某個人員的名稱在一組搜尋結果中有不同格式時,該人員的所有結果會顯示在單一群組 (稱為 [結果區塊])。 例如,針對搜尋查詢 「Anne Weiler」,所有由 Anne Weiler 或 A 所撰寫的檔。Weiler 或別名 AnneW 都可以顯示在標示為「Anne Weiler 的檔」的結果區塊中。 同樣地,作者為這其中任一項身分的所有文件都會顯示在精簡搜尋面板的 "Anne Weiler" 標題底下 (如果「作者」是其中一個類別)。

編目使用者設定檔,然後編目 SharePoint Server 網站

  1. 確認執行此程序的使用者帳戶為您要設定之 Search Service 應用程式的管理員。

  2. 請遵循在 SharePoint Server 中部署人員搜尋中的指示。 在這些指示中,您會執行下列工作:

  • 建立只用於編目使用者設定檔 (設定檔儲存) 的內容來源。 您可以將該內容來源取名為 People。 在新的內容來源的 [ 起始位址 ] 區段中,輸入 sps3s:// myWebAppUrl ,其中 myWebAppUrl 是 [我的網站] 主機的 URL。

  • 針對您建立的人員內容來源開始編目。

  • 從預先設定的內容來源本機 SharePoint 網站刪除起始位址 sps3s://myWebAppUrl

  1. 在 People 內容來源的編目完成之後,等候約兩個小時。

  2. 開始內容來源 [本機 SharePoint 網站] 的第一次完整編目。

使用連續編目以協助確保有新鮮的搜尋結果

啟用連續編目 是一個編目排程選項,您可以在新增或編輯 SharePoint 網站類型的內容來源時選取此選項。 連續編目會搜耙自上次搜耙之後新增、變更或刪除的內容。 連續編目會以預先定義的時間間隔開始。 預設間隔為每 15 分鐘一次,但您可以使用 Microsoft PowerShell 將連續編目設定為以較短的間隔進行。 因為連續編目經常發生,所以即使經常更新的 SharePoint Server 內容也有助於確保搜尋索引的完整性。 此外,雖然多重編目嘗試會延遲累加或完整編目,而這些嘗試會傳回特定專案的錯誤,但連續編目可以編目其他內容並造成索引有效性,因為連續編目不會處理或重試重複傳回錯誤的專案。 這類錯誤會在「清除」累加編目期間重試,這會針對已啟用連續編目的內容來源,每四小時自動執行一次。 在未來的累加式編目期間,會重試在累加編目期間繼續傳回錯誤的專案,但在解決錯誤之前,連續編目不會挑選這些專案。

單一連續編目會納入 Search Service 應用程式中已所有啟用連續編目的內容來源。 同理,連續編目間隔會套用於 Search Service 應用程式中所有已啟用連續編目的內容來源。 如需詳細資訊,請參閱<管理 SharePoint Server 中的連續編目>。

連續編目會增加編目程式與編目目標上的負載。 請務必針對此資源耗用量增加情形,進行相應的規劃及擴充。 對於每個您已啟用連續編目的大型內容來源,建議您設定一或多個前端網頁伺服器做為專門的編目目標。 如需詳細資訊,請 參閱管理 SharePoint Server 2010) (編目載入

使用編目規則從所編目的內容中排除不相關的內容

由於編目會耗用資源和頻寬,因此在初始部署期間,最好是編目您知道確實重要的少量內容,而不是編目為數較多、但可能有一部分並不相關的內容。 若要限制編目的內容量,您可以基於下列原因建立編目規則:

  • 排除一或多個 URL,以避免編目不相關的內容。

  • 編目 URL 上的連結卻不編目 URL 本身。 此安排適用于不包含相關內容但具有相關內容連結的網站。

根據預設,編目程式不會追蹤複雜的 URL,也就是包含問號後面接著額外參數的 URL,例如, http://contoso/page.aspx?x=y. 如果您讓編目程式能夠追蹤複雜的 URL,這種相片順序可能會導致編目程式收集比預期或適當的更多的 URL。 這種過度同化可能會導致編目程式收集不必要的連結、使用備援連結填入編目資料庫,並產生較大的索引。

這些措施可以協助減少伺服器資源使用量和網路流量,並且可以增加搜尋結果的相關性。 初始部署之後,您可以檢閱查詢和編目記錄,並適時調整內容來源和編目規則以納入更多內容。 如需詳細資訊,請參閱<管理 SharePoint Server 中的編目規則>。

編目 SharePoint Server Web 應用程式的預設區域

當您編目 SharePoint Server Web 應用程式的預設區域時,查詢處理器會自動對應並傳回搜尋結果 URL,使其相對於執行查詢的 AAM) 區域 (替代存取對應。 此設定可讓使用者立即檢視和開啟搜尋結果。

但是,如果您編目預設區域以外的 Web 應用程式區域,查詢處理器不會對應搜尋結果 URL,因此這些 URL 就不會與從中執行查詢的 AAM 區域相關。 相反地,搜尋結果 URL 會相對於已編目的非預設區域。 由於這項設定,使用者可能無法立即檢視或開啟搜尋結果。

例如,假設您有下列 AAM 用於某個名為 WebApp1 的 Web 應用程式:

預設 公用 URL 驗證提供者
預設 https://contoso Windows 驗證:NTLM
外部網路 https://fabrikam 表單型驗證
內部網路 http://fabrikam Windows 驗證:NTLM

現在,假設您已編目預設區域 。 https://contoso 當使用者從 https://contoso/searchresults.aspx 執行查詢時,來自 WebApp1 的結果 URL 會全部相對於 https://contoso ,因此格式為 https://contoso/ _path_/ _result_.aspx

同樣地,當查詢源自外部網路區域時,在此情況下, https://fabrikam/searchresults.aspx—results 來自 WebApp1 的所有查詢都會相對於 https://fabrikam ,因此格式為 https://fabrikam/ _path_/ _result_.aspx

在前述兩個案例中,由於查詢位置和搜尋結果 URL 之間有區域一致性,使用者馬上就能檢視和開啟搜尋結果,不需要變更為不同區域的安全性內容。

不過,現在請改為假設您編目非預設區域,例如內部網路區域 。 http://fabrikam 在此案例中,對於從任何區域進行的查詢,來自 WebApp1 的 URL 結果一律會與所編目的非預設區域相關。 也就是說,來自 https://contoso/searchresults.aspxhttps://fabrikam/searchresults.aspxhttp://fabrikam/searchresults.aspx 的查詢會產生以已編目之非預設區域開頭的搜尋結果 URL,因此其格式為 h ttp://fabrikam/ _path_/ _result_.aspx 。 此設定可能會導致非預期或有問題的行為,例如:

  • 當使用者嘗試開啟搜尋結果時,系統可能會提示他們輸入他們沒有的認證。 例如,外部網路區域中的表單型驗證使用者可能沒有 Windows 驗證認證。

  • 來自 WebApp1 的結果會使用 HTTP,但使用者可能會從 的外部網路區域搜尋 https://fabrikam/searchresults.aspx 。 使用者的這項搜尋作業可能會影響安全性,因為結果不會使用安全通訊端層 (SSL) 加密。

  • 精簡搜尋可能無法正確進行篩選,因為它們是對預設區域的公用 URL 進行篩選,而非對已編目的 URL 進行篩選。 這種不正確的篩選是因為索引中的 URL 型屬性會相對於編目的非預設 URL。

減少搜耙對 SharePoint Server 編目目標的影響

您可以藉由執行下列工作,減少對 SharePoint Server 編目目標進行編目 (,也就是 SharePoint Server 前端網頁伺服器) 的影響:

  • 針對小型 SharePoint Server 環境,將所有編目流量重新導向至單一 SharePoint Server 前端網頁伺服器。 對於大型環境,將編目流量重新導向至特定一群前端網頁伺服器。 這種編目重新導向模式可防止編目程式使用用來轉譯網頁和內容給作用中使用者的相同資源。

  • 限制 Microsoft SQL Server 中的搜尋資料庫使用量,以防止編目程式在編目期間使用共用SQL Server磁片和處理器資源。

如需詳細資訊,請 參閱管理 SharePoint Server 2010) (編目載入

使用編目程式影響規則以限制編目造成的影響

若要限制編目程式造成的影響,您也可以建立編目程式影響規則 (其會出現在 [Search_service_application_name:搜尋管理] 頁面)。 編目程式影響規則會指定編目程式向一或多個起始位址要求內容的速率。 具體而言,編目程式影響規則會指定要向 URL 一次要求指定數目的文件 (要求之間沒有等待時間),還是要向 URL 一次要求一份文件,並在要求之間等待指定的時間。 每個編目程式影響規則均會套用至所有編目元件。

對於貴組織中的伺服器,您可以根據已知的伺服器效能和容量,設定編目程式影響規則。 不過,外部網站可能無法使用此設定。 因此,您可能會不小心要求太多內容或太頻繁要求內容,造成外部伺服器上的資源使用過度。 此高內容使用率可能會導致這些外部伺服器的系統管理員限制伺服器存取,讓您難以或無法編目這些存放庫。 因此,請將編目程式影響規則設定為盡可能對外部伺服器產生最少的影響,同時您仍然夠頻繁地編目內容,以確保索引的全新性符合您的需求。

使用 Active Directory 群組而不是個別使用者來決定權限

使用者或群組在網站上執行各種活動的能力是取決於您指派的權限層級。 如果您針對網站許可權個別新增或移除使用者,或是使用 SharePoint Server 群組來指定網站許可權,而且您變更群組的成員資格,編目程式必須執行「僅限安全性編目」,以更新搜尋索引中的所有受影響專案以反映變更。 同樣地,新增或更新具有不同使用者或 SharePoint Server 群組的 Web 應用程式原則,也會觸發該原則涵蓋之所有內容的編目。 如此會增加編目負載並可能降低搜尋結果新鮮度。 因此,若要指定網站許可權,最好使用 Active Directory 網域服務 (AD DS) 群組,因為這些群組不需要編目程式來更新搜尋索引中受影響的專案。

新增第二個編目元件以提供容錯

當您建立 Search Service 應用程式時,預設搜尋拓撲會包含一個編目元件。 編目元件會從內容存放庫擷取項目、將項目下載至裝載編目元件的伺服器、將項目和相關中繼資料傳送至內容處理元件,然後新增編目相關資訊至相關編目資料庫。 您可以新增第二個編目元件以提供容錯。 如果一個編目元件無法使用,另一個編目元件可以接管所有編目作業。 對於大部分的 SharePoint Server 伺服器陣列而言,總共有兩個編目元件就已足夠。

如需詳細資訊,請參閱下列文章:

管理環境資源以提升編目效能

當編目程式編目內容、將內容下載至編目伺服器 (即裝載該編目元件的伺服器),並將內容饋送至內容處理元件時,有好幾項因素可能會使效能降低。 若要改善編目效能,您可以執行下列工作:

若要解決此潛在效能瓶頸 實作此解決方案
所編目伺服器的回應時間緩慢 提供更多的 CPU 與 RAM 和更快的磁碟 I/O
低網路頻寬 在每部編目伺服器上安裝每秒 1 或 2 個 1 gigabit 網路介面卡
內容處理 提供更多內容處理元件,並為每個內容處理元件提供更多 CPU 資源
索引元件的處理速度緩慢 為裝載索引元件的伺服器新增 I/O 資源

如需詳細資訊,請參閱下列資源:

變更搜尋拓撲之前確定沒有編目正在使用中

在對搜尋拓撲進行變更之前,建議您先確認沒有編目正在進行中。 否則,拓撲變更可能無法順利進行。

如果必要,您可以手動暫停或停止完整或累加編目,您也可以停用連續編目。 如需詳細資訊,請參閱下列文章:

注意事項

暫停搜耙的缺點是,對編目元件的參考可能會保留在 MSSCrawlComponentsState 搜尋管理資料庫的資料表中。 如果您要移除任何編目元件 (例如,因為您要從伺服器陣列中移除裝載這些元件的伺服器),則可能會造成問題。 不過,當您停止編目時,會刪除資料表中編目元件的 MSSCrawlComponentsState 參考。 因此,如果您要移除編目元件,最好是停止編目而不是暫停編目。

若要確認沒有任何編目進行中,請在頁面上 _Search_service_application_name_: Manage Content Sources ,確定每個內容來源的 [ 狀態] 字 段中的值為 [ 閒置 ] 或 [ 暫停]。 (當編目完成,或當您停止編目時,內容來源的 [狀態] 字 段中的值會變更為 Idle.)

從伺服器陣列移除編目主機之前先從該主機移除編目元件

當伺服器中裝載編目元件時,從伺服器陣列移除該伺服器會讓搜尋系統無法編目內容。 因此,在您從伺服器陣列移除編目主機之前,強烈建議您執行下列工作:

  1. 確定沒有編目正在使用中。

    如需詳細資訊,請參閱前一節<變更搜尋拓撲之前確定沒有編目正在使用中>。

  2. 移除或搬動該主機上的編目元件。

如需詳細資訊,請參閱下列資源:

變更編目設定或套用更新之後測試編目和查詢功能

建議您在變更設定或套用更新之後,測試伺服器陣列中的編目和查詢功能。 下列程序是輕鬆執行此類測試的範例。

測試編目和查詢功能

  1. 確認執行此程序的使用者帳戶為您要設定之 Search Service 應用程式的管理員。

  2. 建立您僅會在此測試使用的暫時內容來源。

    在新的內容來源中,於 [起始位址] 區段的 [在下面鍵入起始位址 (每行一個)] 方塊指定起始位址,該位址包含尚未存在索引中的數個項目,例如某個檔案共用上的數個 TXT 檔案。 如需詳細資訊,請參閱<新增、 編輯或刪除 SharePoint Server 中的內容來源>。

  3. 開始對該內容來源進行完整編目。

    如需詳細資訊,請參閱<Start, pause, resume, or stop a crawl in SharePoint Server>。 當編目完成時,在頁面上 _Search_service_application_name_: Manage Content Sources ,內容來源的 [狀態 ] 資料行中的值會是 [閒置]。 (若要更新 [狀態] 資料行,請按一下 Refresh.) 來重新整理 [管理內容來源] 頁面

  4. 當編目完成時,移至搜尋中心並且執行搜尋查詢以尋找這些檔案。

    如果您的部署還沒有搜尋中心,請參閱 在 SharePoint Server 中建立搜尋中心網站

  5. 完成測試之後,刪除該暫時內容來源。

    這項作業會從搜尋索引中移除該內容來源所指定的專案,使其不會在您完成測試之後出現在搜尋結果中。

使用編目記錄和編目狀況報表來診斷問題

編目記錄會追蹤所編目內容的狀態資訊。 記錄中會包含內容來源、主機、錯誤、資料庫、URL 及歷程記錄的檢視。 例如,您可以使用此記錄來判斷上次成功編目內容來源的時間、所編目的內容是否成功新增至索引、該內容是否因為編目規則而遭到排除,或者編目是否因為遇到錯誤而失敗。

編目狀況報表會提供有關編目速率、編目延遲、編目新鮮度、內容處理、CPU 和記憶體負載、連續編目及編目佇列的詳細資訊。

您可以使用編目記錄和編目狀況報表來診斷搜尋體驗的問題。 診斷資訊可以協助您判斷調整各項元素 (如內容來源、編目規則、編目程式影響規則、編目元件及編目資料庫) 是否有幫助。

如需詳細資訊,請 參閱在 SharePoint Server 中檢視搜尋診斷