Office 365 Multi-Geo ために検索を構成する

Multi-Geo テナント には集計検索機能があり、検索クエリは テナント内の任意の場所から結果を返します。

既定では、各検索インデックスが関連する Geography の場所内にある場合でも、これらのエントリ ポイントからの検索は集計結果を返します。

  • OneDrive for Business
  • Delve
  • SharePoint Home
  • 検索センター

さらに、SharePoint 検索 API を使用するカスタム検索アプリケーション用に複数地域検索機能を構成することもできます。

手順と制限事項や相違点などについては、「OneDrive for Business 複数地域の検索の構成」を参照してください。

Microsoft 365 Multi-Geo の構成を検証する

以下は、Microsoft 365 Multi-Geo を会社で広く展開する前に、検証のプランに含めることができる基本的なユース ケースです。 これらのテストと会社に関連するその他のユース ケースを完了すると、最初のパイロット グループへのユーザーの追加を開始できます。

OneDrive for Business:

Microsoft 365 アプリ起動ツールから [OneDrive] を選択し、ユーザーの PDL に基づいて、ユーザーの適切な Geography の場所に自動的に移動されることを確認します。 OneDrive for Business により、その場所でプロビジョニングが開始されるはずです。 プロビジョニングが完了したら、ドキュメントのアップロードやダウンロードを試してください。

OneDrive モバイル アプリ:

テスト アカウントの資格情報を使用して OneDrive モバイル アプリにログインします。 OneDrive for Business のファイルを表示できることと、それらのファイルをモバイル デバイスから操作できることを確認します。

OneDrive 同期 クライアント:

ログイン時にOneDrive 同期 クライアントがOneDrive for Business Geography の場所を自動的に検出することを確認します。 同期クライアントをダウンロードする必要がある場合は、OneDrive ライブラリの [ 同期 ] をクリックします。

Office アプリケーション:

Word などの Office アプリケーションからログインして、OneDrive for Businessにアクセスできることを確認します。 Office アプリケーションを開き、[ OneDrive – <TenantName] を選択します>。 Office によって OneDrive の場所が検出され、開くことができるファイルが表示されます。

共有:

OneDrive ファイルを共有してみてください。 ユーザー 選択ウィンドウに、 地域 の場所に関係なく、すべての SharePoint オンライン ユーザーが表示されることを確認します。

複数地域環境では、各 Geography の 場所に独自の検索インデックスと検索センターがあります。 ユーザーが検索すると、クエリはすべてのインデックスに対して展開され、返された結果は結合されます。

たとえば、ある地域の場所のユーザーは、別の 地域 の場所に格納されているコンテンツや、別の 地域 の場所に制限されている SharePoint サイト上のコンテンツを検索できます。 ユーザーにそのコンテンツへのアクセス権がある場合は、検索結果が表示されます。

複数地域環境で動作する検索クライアントはどれですか?

これらのクライアントは、すべての Geography の場所から結果を返すことができます。

  • OneDrive
  • Delve
  • SharePoint ホーム ページ
  • 検索センター
  • SharePoint 検索 API を使用するカスタムの検索アプリケーション

OneDrive

Multi-Geo 環境が設定されるとすぐに、OneDrive で検索するユーザーは、すべての Geography の場所から結果を取得します。

Delve

Multi-Geo 環境が設定されるとすぐに、Delve で検索するユーザーは、すべての Geography の場所から結果を取得します。

Delve フィードとプロファイル カードでは、中央の場所に保存されているファイルのプレビューのみが表示されます。 サテライト地域の場所に格納されているファイルの場合は、代わりにファイルの種類のアイコンが表示されます。

SharePoint ホーム ページ

複数地域環境が設定されると、ユーザーは SharePoint ホーム ページに複数の Geography の場所からニュース、最近およびフォローされたサイトを表示します。 SharePoint ホーム ページの検索ボックスを使用すると、複数の Geography の場所からマージされた結果が取得されます。

検索センター

複数地域環境を設定した後、各検索センターは引き続き独自の Geography の 場所からの結果のみを表示します。 管理者は、すべての地域の場所から結果を取得するために、各検索センターの設定を変更する必要があります。 その後、検索センターで検索するユーザーは、すべての 地域の 場所から結果を取得します。

カスタムの検索アプリケーション

通常どおり、カスタム検索アプリケーションは、既存の SharePoint Search REST API を使用して検索インデックスと対話します。 すべての場所または一部 の Geography の場所から結果を取得するには、アプリケーションで API を呼び出し、新しい Multi-Geo クエリ パラメーター を要求に含める必要があります。 これにより、クエリからすべての Geography の場所にファンがトリガーされます。

複数地域環境での検索の違い

Multi-Geo 環境では、従来の検索機能の一部の動作が異なります。

機能 メカニズム 回避策
昇格結果 昇格された結果を含むクエリ ルールは、_Tenant_全体、サイト コレクション、またはサイトに対して、さまざまなレベルで作成できます。 複数地域環境で、_Tenant_ レベルで昇格された結果を定義して、すべての _Geography_ の場所の検索センターに結果を昇格させます。 サイト コレクションまたはサイトの _Geography_ の場所にある検索センターでのみ結果を昇格する場合は、昇格された結果をサイト コレクションまたはサイト レベルで定義します。 これらの結果は、他の _Geography_ の場所では昇格されません。 _Geography_ の場所ごとに異なる昇格された結果が必要ない場合 (たとえば、旅行のルールが異なる場合など)、昇格された結果を _Tenant_ レベルで定義することをお勧めします。
絞り込み検索 Search は、_Tenant_ のすべての _Geography_ の場所から絞り込み条件を返し、それらを集計します。 集計はベスト エフォートです。つまり、絞り込み条件の数が 100% 正確でない可能性があります。 ほとんどの検索駆動型シナリオでは、この精度で十分です。 絞り込み条件の完全性に依存する検索駆動型アプリケーションの場合は、各 _Geography_ の場所を個別に照会します。
複数 Geo 検索では、数値絞り込み条件の動的バケット化はサポートされていません。 数値絞り込み条件の "分離" パラメーター を使用します。
ドキュメント ID ドキュメント ID に依存する検索駆動型アプリケーションを開発している場合、複数地域環境のドキュメント ID は _Geography_ の場所間で一意ではないことに注意してください。これらは _Geography_ の場所ごとに一意です。 _Geography_ の場所を識別する列が追加されました。 この列を使用して、一意性を確保してください。 この列の名前は "GeoLocationSource" です。
結果の数 検索結果ページには _Geography_ の場所の結果が結合されていますが、500 件を超える結果をページ化することはできません。
ハイブリッド検索 クラウド ハイブリッド検索を使用したハイブリッド SharePoint 環境では、オンプレミスのコンテンツが中央の場所の Microsoft 365 インデックスに追加されます。

Multi-Geo 環境の検索でサポートされない内容

Multi-Geo 環境では、従来の検索機能一部のがサポートされません。

検索機能 注:
アプリ専用の認証 Multi-Geo 検索では、アプリ専用の認証 (サービスからの特権アクセス) がサポートされません。
ゲスト ゲストは、検索元の _Geography_ の場所からのみ結果を取得します。

複数地域環境での検索の動作について

すべての検索クライアントは、既存の SharePoint 検索 REST API を使用して検索インデックスとやり取りします。

SharePoint Search REST API が検索インデックスとどのように対話するかを示す図。

  1. 検索クライアントは、クエリ プロパティ EnableMultiGeoSearch = true を設定して、検索 REST エンドポイントを呼び出します。
  2. クエリは、テナント内のすべての Geography の場所に送信されます。
  3. Geography の 場所からの検索結果がマージされ、ランク付けされます。
  4. クライアントは、統一された検索結果を取得します。

すべての地域の場所から結果を受け取るまでは、検索結果が結合されない点にご注意ください。 したがって、地域の場所が 1 つのみの環境での検索に比べ、複数地域検索では遅延が大きくなります。

検索センターにすべての地域の場所からの結果を表示する

それぞれの検索センターには、複数のバーティカルがあり、それぞれのバーティカルを個別に設定する必要があります。

  1. ここに示す手順は、検索結果ページと検索結果 Web パーツを編集するためのアクセス許可があるアカウントで実行してください。

  2. 検索結果ページに移動します (検索結果ページの一覧を参照してください)

  3. セットアップする垂直を選択し、右上隅にある [設定 ] 歯車アイコンをクリックし、[ ページの編集] をクリックします。 検索結果ページが編集モードで開きます。

    [設定] でページの選択を編集します。

  4. 検索結果 Web パーツで、マウス ポインターを Web パーツの右上に移動させ、矢印をクリックし、メニューから [Web パーツの編集] をクリックします。 ページの右上のリボンの下に検索結果 Web パーツのツール ウィンドウが開きます。

    [Web パーツの編集] の選択。

  5. Web パーツ ツール ウィンドウの [設定] セクションで、[結果コントロールの設定] から [複数地域の検索結果を表示する] を選択して、検索結果 Web パーツに、すべての地域の場所からの結果が表示されるようにします。

  6. [OK] をクリックして変更内容を保存して、Web パーツ ツール ウィンドウを閉じます。

  7. 検索結果 Web パーツに対する変更内容を確認するには、メイン メニューの [ページ] タブで [チェックイン] をクリックします。

  8. ページの上部にあるメモで示されるリンクを使用して、変更内容を公開します。

カスタムの検索アプリケーションにすべてまたは一部の地域の場所からの結果を表示する

カスタム検索アプリケーションは、SharePoint Search REST API への要求を使用してクエリ パラメーターを指定することで、 Geography の場所のすべてまたは一部から結果を取得します。 クエリ パラメーターに応じて、クエリはすべての Geography の場所、または一部の地理的な場所にファンアウトされます。 たとえば、 Geography の場所のサブセットに対してのみクエリを実行して関連情報を見つける必要がある場合は、ファンアウトを制御してこれらのみに制御できます。 要求が成功した場合、SharePoint Search REST API は応答データを返します。

要件

地理的な場所ごとに、組織内のすべてのユーザーにルート Web サイトの 読み取り アクセス許可レベルが付与されていることを確認する必要があります (たとえば、contosoAPAC.sharepoint.com/ や contosoEU.sharepoint.com/)。 アクセス許可について説明します

クエリ パラメーター

EnableMultiGeoSearch - これは、クエリをマルチ geo テナントの他の地理的な場所のインデックスにファンアウトするかどうかを指定するブール値です。 クエリをファンアウトする場合は true と設定し、クエリをファンアウトしない場合は false と設定します。 このパラメータを含めない場合、既定値は false です。ただし、エンタープライズ検索センター テンプレートを使用するサイトに対して REST API 呼び出しを行う場合は、この既定値は true になります。 Multi-Geo ではない環境でこのパラメーターを使用する場合、パラメーターは無視されます。

ClientType - これは文字列です。 検索アプリケーションごとに一意のクライアント名を入力します。 このパラメーターを指定しない場合は、クエリは他の地域の場所へファンアウトされません。

MultiGeoSearchConfiguration - EnableMultiGeoSearch が true の場合にクエリをファンアウトするマルチ geo テナント内の地理的な場所を省略可能一覧です。 このパラメーターを指定しない場合、または空白のままにする場合は、クエリはすべての地域の場所へファンアウトされます。 それぞれの地域の場所について、次の項目を JSON 形式で入力します。

項目 説明
DataLocation _Geography_ の場所 (NAM など)。
EndPoint 接続先のエンドポイント (例: https://contoso.sharepoint.com)。
SourceId 検索先の GUID (例: B81EAB55-3140-4312-B0F4-9459D1B4FFEE)。

DataLocation または EndPoint を省略した場合、または DataLocation が重複している場合、要求は失敗します。 Microsoft Graph を使用して、テナントの地理的な場所のエンドポイントに関する情報を取得できます

応答データ

MultiGeoSearchStatus – これは、SharePoint Search API が要求に応答して返すプロパティです。 プロパティの値は文字列であり、SharePoint Search API が返す結果に関する次の情報を提供します。

説明
Full _Geography_ のすべての 場所からの完全な結果。
一部 1 つ以上の _Geography_ の場所からの部分的な結果。 一時的なエラーが原因で結果が不完全です。

REST サービスを使用したクエリ

GET 要求では、URL でクエリ パラメーターを指定します。 POST 要求では、本文のクエリ パラメーターを JavaScript Object Notation (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 を使用したクエリ

すべてのGeography の場所にファンアウトされたサンプル CSOM クエリを次に示します。

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