設定 Microsoft 365 多地理位置的搜尋

您的多地理位置 使用者將具有匯總搜尋功能,可讓搜尋查詢從 使用者內的任何位置傳回結果。

根據預設,來自這些進入點的搜尋會傳回匯總結果,即使每個搜尋索引都位於其相關的 Geography 位置內也一樣:

  • OneDrive
  • Delve
  • SharePoint 首頁
  • 搜尋中心

此外,您可以為使用 SharePoint 搜尋 API 的自定義搜尋應用程式設定多地理位置搜尋功能。

如需包含任何限制和差異的指示,請參閱設定 搜尋 以取得 OneDrive 多地理位置

驗證 Microsoft 365 多地理位置組態

以下是在將 Microsoft 365 多地理位置在貴公司廣泛推出之前,您可能希望在驗證計劃中包含的一些基本使用案例。 完成這些測試以及與貴公司相關的任何其他使用案例後,您可以選擇繼續新增使用者到一開始的試驗組。

OneDrive:

從 Microsoft 365 應用程式啟動器中選取 [OneDrive],並確認系統會根據使用者的 PDL,自動將您導向至使用者的適當 地理 位置。 OneDrive 現在應該會在該位置開始布建。 佈建之後,請嘗試上傳和下載一些文件。

OneDrive 行動應用程式:

使用您的測試帳戶認證登入您的 OneDrive 行動應用程式。 確認您可以看到 OneDrive 檔案,並可從行動裝置與其互動。

OneDrive 同步處理 用戶端:

確認 OneDrive 同步處理 用戶端會在登入時自動偵測您的 OneDrive Geography 位置。 如果您需要下載同步處理用戶端,可以按下 OneDrive 連結庫中的 [ 同步 ]。

Office 應用程式:

確認您可以從 Office 應用程式登入來存取 OneDrive,例如 Word。 開啟 Office 應用程式,然後選 取 [OneDrive – <TenantName]>。 Office 會偵測您的 OneDrive 位置,並顯示您可以開啟的檔案。

共用:

嘗試共用 OneDrive 檔案。 確認人員選擇器會顯示您所有的 SharePoint 使用者,而不論其 地理 位置為何。

在多地理位置環境中,每個地理位置都有自己的搜尋索引和 搜尋 中心。 當使用者搜尋時,系統會將查詢展開傳送至所有索引,並合併傳回的結果。

例如,一個 Geography 位置中的使用者可以搜尋儲存在另一個 Geography 位置的內容,或是搜尋受限於不同 Geography 位置之 SharePoint 網站上的內容。 如果使用者可存取此內容,搜尋會顯示結果。

哪些搜尋用戶端在多地理位置環境中運作?

這些用戶端可以從所有 Geography 位置傳回結果:

  • OneDrive
  • Delve
  • SharePoint 首頁
  • 搜尋中心
  • 使用 SharePoint 搜尋 API 的自訂搜尋應用程式

OneDrive

一旦設定好多地理位置環境,在 OneDrive 中搜尋的使用者就會從所有 地理 位置取得結果。

Delve

一旦設定好多地理位置環境,在 Delve 中搜尋的使用者就會從所有 地理 位置取得結果。

Delve 摘要和個人檔案卡片只會顯示儲存在中央位置之檔案的預覽。 如果是儲存在 附屬地理 位置的檔案,則會改為顯示檔類型的圖示。

SharePoint 首頁

一旦設定好多地理位置環境,使用者就會在其 SharePoint 首頁上看到來自多個 地理 位置的新聞、最近和追蹤的網站。 如果他們使用 SharePoint 首頁上的搜尋方塊,則會從多個 地理 位置取得合併的結果。

搜尋中心

設定好多地理位置環境之後,每個 搜尋 中心都會繼續只顯示自己地理位置的結果。 系統管理員必須變更每個 搜尋 中心的設定,才能從所有地理位置取得結果。 之後,在 搜尋 Center 中搜尋的使用者會從所有地理位置取得結果。

自訂搜尋應用程式

如往常一樣,自定義搜尋應用程式會使用現有的 SharePoint 搜尋 REST API 與搜尋索引互動。 若要從所有或部分 Geography 位置取得結果,應用程式必須 呼叫 API,並在要求中包含新的多地理位置查詢參數 。 這會將風扇從查詢中觸發到所有 地理 位置。

多地理位置環境中的搜尋有何不同?

您可能已經熟悉的部分搜尋功能,在多地理位置環境中的運作方式有所不同。

功能 運作方式 因應措施
升階的結果 您可以在不同層級建立具有升級結果的查詢規則:適用於整個 _Tenant_、針對網站集合,或針對網站。 在多地理位置環境中,定義 _Tenant_ 層級的升級結果,以將結果升階至所有 _Geography_ 位置中的 搜尋 中心。 如果您只想要在網站集合或網站的 _Geography_ 位置的 搜尋 Center 中升級結果,請在網站集合或網站層級定義升級的結果。 這些結果不會在其他 _Geography_ 位置中升級。 如果您不需要每個 _Geography_ 位置的不同升級結果,例如不同的旅行規則,建議您在 _Tenant_ 層級定義升級的結果。
搜尋精簡器 搜尋 會從 _Tenant_ 的所有 _Geography_ 位置傳回精簡器,然後加以匯總。 匯總是最好的工作,這表示精簡器計數可能不是 100% 正確。 在大部分的搜尋驅動案例中,此精確度就已足夠。 針對相依於精簡器完整性的搜尋驅動應用程式,請獨立查詢每個 _Geography_ 位置。
多地理位置搜尋不支援數值精簡器的動態貯體。 針對數值精簡器使用 「Discretize」 參數
文件識別碼 如果您要開發相依於文件標識碼的搜尋驅動應用程式,請注意,多地理位置環境中的文件標識碼在 _Geography_ 位置之間不是唯一的,每個 _Geography_ 位置都是唯一的。 我們已新增可識別 _Geography_ 位置的數據行。 請使用此欄來達成唯一性。 此數據行名為 「GeoLocationSource」。
結果數目 搜尋結果頁面會顯示來自 _Geography_ 位置的合併結果,但無法分頁超過 500 個結果。
混合式搜尋 在具有 雲端混合式搜尋的混合式 SharePoint 環境中,內部部署內容會新增至中央位置的 Microsoft 365 索引。

多地理位置環境中的搜尋不支援哪些項目?

您可能已經熟悉的部分搜尋功能在多地理位置環境中不受支援。

搜尋功能 注意事項
僅 App 驗證 在多地理位置搜尋中不支援僅 App 驗證 (來自服務的特殊權限存取)。
來賓 來賓只會從其搜尋來源的 _Geography_ 位置取得結果。

搜尋在多地理位置環境中的運作方式?

所有搜尋用戶端都會使用現有 SharePoint 搜尋 REST API 與搜尋索引互動。

顯示 SharePoint 搜尋 REST API 如何與搜尋索引互動的圖表。

  1. 搜尋用戶端會使用查詢屬性 EnableMultiGeoSearch = true 來呼叫搜尋 REST 端點。
  2. 查詢會傳送至使用者中的所有 Geography 位置。
  3. 搜尋 每個 Geography 位置的結果都會合併並排序。
  4. 用戶端會取得整合的搜尋結果。

請注意,在收到來自所有地理位置的結果之前,我們不會合併搜尋結果。 這表示相較於只有單一地理位置環境中的搜尋,多地理位置搜尋會有額外的延遲。

取得搜尋中心以顯示來自所有地理位置的結果

每個搜尋中心都提供數種類別,而且您必須個別設定每個類別。

  1. 請務必使用有權編輯搜尋結果網頁與搜尋結果網頁組件的帳戶來執行這些步驟。

  2. 瀏覽至 [搜尋結果] 頁面 (請參閱搜尋結果頁面的清單)

  3. 選取要設定的垂直,按兩下右上角 的 [設定 齒輪] 圖示,然後按兩下 [ 編輯頁面]。 搜尋結果頁面會以 [編輯] 模式開啟。

    編輯 [設定] 中的頁面選取範圍。

  4. 在搜尋結果網頁組件中,請將指標移至網頁組件的右上角,按一下箭號,然後按一下功能表上的 [編輯網頁組件]。 搜尋結果網頁組件工具窗格隨即在網頁右上方的功能區下開啟。

    編輯網頁元件選取範圍。

  5. 在網頁組件工具窗格 [設定] 區段中,在 [結果控制設定],請選取 [顯示多地理位置結果] 以取得搜尋結果網頁組件,以顯示來自所有地理位置的結果。

  6. 按一下 [確定] 以儲存變更並且關閉網頁組件工具窗格。

  7. 檢查您對搜尋結果網頁組件所做的變更,請在主功能表的 [頁面] 索引標籤上按一下 [存回]

  8. 使用頁面頂端之附註中提供的連結發佈變更。

取得自訂搜尋應用程式,以顯示來自全部或部分地理位置的結果

自定義搜尋應用程式會藉由指定具有 SharePoint 搜尋 REST API 要求的查詢參數,從所有或部分地理位置取得結果。 根據查詢參數,查詢會傳送至所有 地理 位置或某些地理位置。 例如,如果您只需要查詢 Geography 位置的子集來尋找相關信息,您可以將風扇控制為僅限這些位置。 如果要求成功,SharePoint 搜尋 REST API 會傳回響應數據。

需求

針對每個地理位置,您必須確定組織中的所有使用者都已獲得根網站的 取許可權等級 (例如 contosoAPAC.sharepoint.com/ 和 contosoEU.sharepoint.com/) 了解許可權

查詢參數

EnableMultiGeoSearch - 這是布爾值,指定是否應將查詢展開傳送至多地理位置 使用者之其他地理位置的索引。 將它設為 true 以將查詢展開傳送;false 以不要將查詢展開傳送。 如果您不包含此參數,預設值是 false,對使用企業搜尋中心範本的網站進行 REST API 呼叫時除外,在此情況下,預設值是 true。 如果您在非多地理位置的環境中使用此參數,則會忽略此參數。

ClientType - 這是字串。 為每個搜尋應用程式輸入唯一的用戶端名稱。 如果您不包含此參數,則不會將查詢展開傳送至其他地理位置。

MultiGeoSearchConfiguration - 這是選擇性列表,列出當 EnableMultiGeoSearch為 true 時,要將查詢展開至多地理位置使用者中的地理位置。 如果您不包含此參數,或將它保留空白,則會將查詢展開傳送至所有地理位置。 針對每個地理位置,請以 JSON 格式輸入下列項目:

項目 描述
DataLocation _Geography_ 位置,例如 NAM。
端點 要連線的端點,例如 https://contoso.sharepoint.com
SourceId 結果來源的 GUID,例如 B81EAB55-3140-4312-B0F4-9459D1B4FFEE。

如果您省略 DataLocation 或 EndPoint,或 DataLocation 重複,則要求會失敗。 您可以使用 Microsoft Graph 取得租使用者地理位置端點的相關信息

回應資料

MultiGeoSearchStatus – 這是 SharePoint 搜尋 API 傳回以回應要求的屬性。 屬性的值是字串,並提供 SharePoint 搜尋 API 傳回之結果的下列資訊:

描述
Full 來自所有 _Geography_ 位置的完整結果。
部分 一或多個 _Geography_ 位置的部分結果。 由於暫時性錯誤,結果不完整。

使用 REST 服務的查詢

使用 GET 要求時,在 URL 中指定查詢參數。 透過 POST 要求,您會以 JavaScript 物件表示法 (JSON) 格式,在本文中傳遞查詢參數。

要求標頭

名稱
Content-Type application/json;odata=verbose

已展開傳送至所有地理位置的範例 GET 要求

https:// \<tenant\>/\_api/search/query?querytext='sharepoint'&Properties='EnableMultiGeoSearch:true'&ClientType='my\_client\_id'

要展開傳送至部分地理位置的範例 GET 要求

https:// \<tenant\>/\_api/search/query?querytext='site'&ClientType='my_client_id'&Properties='EnableMultiGeoSearch:true, MultiGeoSearchConfiguration:[{DataLocation\\:"NAM"\\,Endpoint\\:"https\\://contosoNAM.sharepoint.com"\\,SourceId\\:"B81EAB55-3140-4312-B0F4-9459D1B4FFEE"}\\,{DataLocation\\:"CAN"\\,Endpoint\\:"https\\://contosoCAN.sharepoint-df.com"}]'

注意事項

MultiGeoSearchConfiguration 屬性地理位置清單中的逗號和冒號,其前面會加上反斜線字元。 這是因為 GET 要求會使用冒號來分隔屬性,以及使用逗號來分隔屬性的引數。 若未使用反斜線做為逸出字元,將會錯誤地解譯 MultiGeoSearchConfiguration 屬性。

已展開傳送至所有地理位置的範例 POST 要求

    {
    "request": {
            "__metadata": {
            "type": "Microsoft.Office.Server.Search.REST.SearchRequest"
        },
        "Querytext": "sharepoint",
        "Properties": {
            "results": [
                {
                    "Name": "EnableMultiGeoSearch",
                    "Value": {
                        "QueryPropertyValueTypeIndex": 3,
                        "BoolVal": true
                    }
                }
            ]
        },
        "ClientType": "my_client_id"
        }
    }

已展開傳送至部分地理位置的範例 POST 要求

    {
        "request": {
            "Querytext": "SharePoint",
            "ClientType": "my_client_id",
            "Properties": {
                "results": [
                    {
                        "Name": "EnableMultiGeoSearch",
                        "Value": {
                            "QueryPropertyValueTypeIndex": 3,
                            "BoolVal": true
                        }
                    },
                    {
                        "Name": "MultiGeoSearchConfiguration",
                        "Value": {
                        "StrVal": "[{\"DataLocation\":\"NAM\",\"Endpoint\":\"https://contoso.sharepoint.com\",\"SourceId\":\"B81EAB55-3140-4312-B0F4-9459D1B4FFEE\"},{\"DataLocation\":\"CAN\",\"Endpoint\":\"https://contosoCAN.sharepoint.com\"}]",
                            "QueryPropertyValueTypeIndex": 1
                        }
                    }
                ]
            }
        }
    }

使用 CSOM 查詢

以下是傳送至 所有地理 位置的範例 CSOM 查詢:

var keywordQuery = new KeywordQuery(ctx);
keywordQuery.QueryText = query.SearchQueryText;
keywordQuery.ClientType = <enter a string here>;
keywordQuery.Properties["EnableMultiGeoSearch"] = true;