Office 365 Multi-Geo ために検索を構成する
複数地域検索を構成する
Multi-Geo テナント には集計検索機能があり、検索クエリは テナント内の任意の場所から結果を返します。
既定では、各検索インデックスが関連する Geography の場所内にある場合でも、これらのエントリ ポイントからの検索は集計結果を返します。
- OneDrive
- Delve
- SharePoint Home
- 検索センター
さらに、SharePoint 検索 API を使用するカスタム検索アプリケーション用に複数地域検索機能を構成することもできます。
制限事項や相違点を含む手順については、「OneDrive Multi-Geoの検索の構成」を参照してください。
Microsoft 365 Multi-Geo の構成を検証する
以下は、Microsoft 365 Multi-Geo を会社で広く展開する前に、検証のプランに含めることができる基本的なユース ケースです。 これらのテストと会社に関連するその他のユース ケースを完了すると、最初のパイロット グループへのユーザーの追加を開始できます。
OneDrive:
Microsoft 365 アプリ起動ツールから [OneDrive] を選択し、ユーザーの PDL に基づいて、ユーザーの適切な Geography の場所に自動的に移動されることを確認します。 OneDrive はその場所でプロビジョニングを開始する必要があります。 プロビジョニングが完了したら、ドキュメントのアップロードやダウンロードを試してください。
OneDrive モバイル アプリ:
テスト アカウントの資格情報を使用して OneDrive モバイル アプリにログインします。 OneDrive ファイルが表示され、モバイル デバイスから操作できることを確認します。
OneDrive 同期 クライアント:
OneDrive 同期 クライアントがログイン時に OneDrive Geography の場所を自動的に検出することを確認します。 同期クライアントをダウンロードする必要がある場合は、OneDrive ライブラリの [ 同期 ] をクリックします。
Office アプリケーション:
Wordなど、Office アプリケーションからログインして OneDrive にアクセスできることを確認します。 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 環境では、従来の検索機能の一部の動作が異なります。
機能 | メカニズム | 回避策 |
---|---|---|
昇格結果 | 昇格された結果を含むクエリ ルールは、 テナント全体、サイト コレクション、またはサイトに対して、さまざまなレベルで作成できます。 複数地域環境で、 テナント レベルで昇格された結果を定義して、すべての 地域 の場所の検索センターに結果を昇格させます。 サイト コレクションまたはサイトの Geography の場所にある検索センターでのみ結果を昇格する場合は、昇格された結果をサイト コレクションまたはサイト レベルで定義します。 これらの結果は、他の 地域 の場所では昇格されません。 | 地域の場所ごとに異なる昇格された結果が必要ない場合 (たとえば、旅行のルールが異なる場合など)、昇格された結果をテナント レベルで定義することをお勧めします。 |
絞り込み検索 | 検索は、テナントのすべての 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 を使用して検索インデックスとやり取りします。
- 検索クライアントは、クエリ プロパティ EnableMultiGeoSearch = true を設定して、検索 REST エンドポイントを呼び出します。
- クエリは、テナント内のすべての Geography の場所に送信されます。
- 各 Geography の 場所からの検索結果がマージされ、ランク付けされます。
- クライアントは、統一された検索結果を取得します。
すべての地域の場所から結果を受け取るまでは、検索結果が結合されない点にご注意ください。 したがって、地域の場所が 1 つのみの環境での検索に比べ、複数地域検索では遅延が大きくなります。
検索センターにすべての地域の場所からの結果を表示する
それぞれの検索センターには、複数のバーティカルがあり、それぞれのバーティカルを個別に設定する必要があります。
ここに示す手順は、検索結果ページと検索結果 Web パーツを編集するためのアクセス許可があるアカウントで実行してください。
検索結果ページに移動します (検索結果ページの一覧を参照してください)
セットアップする垂直を選択し、右上隅にある [設定 ] 歯車アイコンをクリックし、[ ページの編集] をクリックします。 検索結果ページが編集モードで開きます。
検索結果 Web パーツで、マウス ポインターを Web パーツの右上に移動させ、矢印をクリックし、メニューから [Web パーツの編集] をクリックします。 ページの右上のリボンの下に検索結果 Web パーツのツール ウィンドウが開きます。
Web パーツ ツール ウィンドウの [設定] セクションで、[結果コントロールの設定] から [複数地域の検索結果を表示する] を選択して、検索結果 Web パーツに、すべての地域の場所からの結果が表示されるようにします。
[OK] をクリックして変更内容を保存して、Web パーツ ツール ウィンドウを閉じます。
検索結果 Web パーツに対する変更内容を確認するには、メイン メニューの [ページ] タブで [チェックイン] をクリックします。
ページの上部にあるメモで示されるリンクを使用して、変更内容を公開します。
カスタムの検索アプリケーションにすべてまたは一部の地域の場所からの結果を表示する
カスタム検索アプリケーションは、SharePoint Search REST API への要求を使用してクエリ パラメーターを指定することで、 Geography の場所のすべてまたは一部から結果を取得します。 クエリ パラメーターに応じて、クエリはすべての Geography の場所、または一部の地理的な場所にファンアウトされます。 たとえば、 Geography の場所のサブセットに対してのみクエリを実行して関連情報を見つける必要がある場合は、ファンアウトを制御してこれらのみに制御できます。 要求が成功した場合、SharePoint Search REST API は応答データを返します。
要件
地理的な場所ごとに、organization内のすべてのユーザーにルート 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 | すべての地域の場所からの完全な結果。 |
一部 | 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;