Microsoft 365 の SharePoint でハイブリッド フェデレーション検索結果を表示する
適用対象:2016 2019 Subscription Edition SharePoint in Microsoft 365
この記事は、SharePoint ハイブリッド ソリューションを構成する手順のロードマップの一部です。 この記事にある手順を実行するときは、必ずロードマップに従っていることを確認してください。
この記事では、Microsoft 365 Enterprise Search Center の SharePoint からの検索でハイブリッド結果が表示されるようにハイブリッド SharePoint 環境を構成する方法について説明します。つまり、両方の検索インデックス (Microsoft 365 と SharePoint Server の SharePoint) の結果です。 この構成は、受信ハイブリッド検索と呼ばれます。
SharePoint Server の検索結果は、SharePoint Server の検索結果と共に表示されますが、結果ブロックと呼ばれる別のグループに表示されます。 SharePoint Server の結果ブロックを構成して、Microsoft 365 の SharePoint のすべての結果の上に表示したり、Microsoft 365 の SharePoint の結果と比較して関連性でランク付けしたりできます。
Microsoft 365 検索センターの SharePoint にハイブリッド検索結果を表示するには、次の手順に従います。
手順 2: Microsoft 365 の SharePoint でハイブリッド検索結果を有効にするクエリ ルールを作成する
手順 3: Microsoft 365 の SharePoint で SharePoint Server 2013 の検索結果を表示するための構成をテストする
手順 1: SharePoint Server 2013 展開から検索結果を取得する方法を定義する検索先を作成する
この手順では、Microsoft 365 の SharePoint で結果ソースを作成します。 この結果ソースは、検索結果を取得するプロバイダーとして SharePoint Server を指定する定義です。 この定義では、それぞれ以下を指定します。
SharePoint Server 展開から検索結果を取得するためのプロトコル。
リバース プロキシ デバイスの URL。 リバース プロキシ デバイスは、Microsoft 365 の SharePoint から SharePoint Server 展開に検索クエリを転送します。
Secure Store SSL 証明書の格納先となるアプリケーションの ID。
結果ソースは、組織レベル、サイト コレクション レベル、またはサイト レベルで作成できます。 この手順では、組織レベルで結果ソースを作成します。 これにより、同じレベルで作成されたすべてのクエリ ルールと、サイト コレクションまたはサイト用に作成されたクエリ ルールでその検索先が利用可能になります。
結果ソースの詳細については、「結果ソースについて」および「 結果ソース の 管理」を参照してください。
SharePoint 管理センターの [その他の機能] に移動し、Microsoft 365 の管理者権限を持つアカウントでサインインします。
[ 検索] で、[ 開く] を選択します。
[ 結果ソースの管理] を選択します。
[ 新しい結果ソース] を選択します。
新しい検索先を作成したページで、以下の手順を実行します。
[全般情報] セクションの [名前 ] テキスト ボックスに、新しい結果ソースの名前を入力します (たとえば、SharePoint Server 2013 から結果を取得します)。
(オプション) [一般情報] セクションの [説明] テキスト ボックスに新しい検索先の説明を入力します。 この説明は、特定の構成ページの結果ソースにポインターが置かれたときにヒントとして表示されます。
[プロトコル] セクションで、 [リモートの SharePoint] を選択します。
[ リモート サービス URL] セクションで、リバース プロキシ デバイスの外部エンドポイントのアドレス (
https://spexternal.adventureworks.com
など) を入力します。 リバース プロキシ デバイスは、Microsoft 365 の SharePoint で送信されたクエリを SharePoint Server 展開にルーティングします。 詳細については、「 SharePoint Server ハイブリッド用のリバース プロキシ デバイスを構成する」を参照してください。 リバース プロキシ デバイスの外部エンドポイントとは、リバース プロキシ デバイスのインターネット接続エンドポイントのことです。 外部エンドポイントのアドレスは、外部 URL と呼ばれます。 管理している SharePoint ハイブリッド ワークシート の表 3 の [外部 URL] 行から外部 URL の値を取得し、[ リモート サービス URL ] テキスト ボックスに入力します。[種類] セクションで、 [SharePoint 検索結果] を選択します。
[ クエリ変換 ] セクションでは、クエリ変換を入力して、検索結果を指定されたサブセット (たとえば、Microsoft 365 サイト コレクションまたはサイトの特定の SharePoint からのサブセット) に絞り込むことができます。 ただし、SharePoint Server または Microsoft 365 の SharePoint でのクエリ変換に慣 れていない 場合は、テキスト ボックスに既定のクエリ変換を 保持 することをお勧めします。 既定の変換は {searchTerms} です。これは、ユーザーが入力したクエリを表すクエリ変数であり、最新のクエリ変換によって変更されました。 クエリ変換に慣れている場合は、テキスト ボックスに別のクエリ変換を入力するか、クエリ ビルダーを起動してクエリ変換を構成することで、既定のクエリ変換を変更できます。 詳細については、「SharePoint Server でのクエリと順序の結果の変換を計画する」および「SharePoint Server のクエリ変数」を参照してください。
リバース プロキシを使用して組織のイントラネットに接続する場合は、[ 資格情報] セクションで [SSO ID ] を選択し、[ リバース プロキシ証明書 (セキュリティで保護されたストア ID)] テキスト ボックスに、ターゲット アプリケーションの名前 (たとえば、リバース プロキシ デバイスへの認証に使用される Windows 証明書を格納する SecureChannelTargetApp) を入力します。 管理している SharePoint ハイブリッド ワークシート の表 6 の [ターゲット アプリケーション ID] 行からターゲット アプリケーションの名前を取得し、[ リバース プロキシ証明書 (セキュリティで保護されたストア ID)] テキスト ボックスに入力します。
[OK] を選択して新しい検索先を保存します。
手順 2: Microsoft 365 の SharePoint でハイブリッド検索結果を有効にするクエリ ルールを作成する
この手順では、この記事の前の手順で作成した結果ソースを使用するクエリ ルールを Microsoft 365 の SharePoint で作成します。 クエリ ルールが起動すると、SharePoint Server 検索インデックスのコンテンツからの検索結果が、Microsoft 365 の SharePoint の検索結果ページの結果ブロックに表示されます。
クエリ ルールは、組織レベル、サイト コレクション レベル、またはサイト レベルで作成できます。 この手順では、組織レベルでクエリ ルールを作成します。 このレベルでルールを作成するため、このルールは、ユーザーが Microsoft 365 の SharePoint のこのインスタンスで送信するすべてのクエリに適用できます。
クエリ ルールの詳細については、「SharePoint Server でクエリを変換して結果を並べ替える計画」および「SharePoint Server でクエリ ルールを管理する」を参照してください。
SharePoint 管理センターの [その他の機能] に移動し、Microsoft 365 の管理者権限を持つアカウントでサインインします。
[ 検索] で、[ 開く] を選択します。
[ クエリ ルールの管理] を選択します。
[ クエリ ルールの管理] ページで、以下の手順を実行します。
[ルールを 構成するコンテキストについて] テキストの下の [ 結果ソースの選択 ] ドロップダウンで、このクエリ ルールを適用する結果ソースを選択します。 テストの際には、検索先として [ローカル SharePoint の結果] を選択することをお勧めします。 この検索先を選択すると、ユーザーがエンタープライズ検索センター内の [すべて] のバーティカル検索でクエリを実行する際に、そのバーティカル検索では既定で [ローカル SharePoint の結果] の検索先が使用されるため、クエリ ルールが既定で適用されます。 ドロップダウンから結果ソースを選択すると、その結果ソースに適用されるすべての既存のクエリ ルールがページに表示されます。 ( [Search_service_application_name: クエリ ルールの追加] ページの [コンテキスト ] セクションで、ルールを適用する結果ソースを追加または削除できます)。
(省略可能)[ルールを 構成するコンテキストの種類] テキストの下の [ ユーザー セグメント] ドロップダウンで、このクエリ ルールを適用するユーザー セグメントを選択します。 ユーザー セグメントは、Managed Metadata Service アプリケーションの用語ストアでユーザーを説明する用語に基づきます。 ([クエリ ルールの追加] ページの [コンテキスト ] セクションで、ルールを適用するユーザー セグメントを追加または削除できます)。
(省略可能)[ルールを 構成するコンテキストの種類] テキストの下の [ トピック カテゴリ] ドロップダウンで、このクエリ ルールを適用するトピック カテゴリを選択します。 トピック カテゴリは、Managed Metadata Service アプリケーションの用語ストア内のカテゴリの用語に基づいています。 ([クエリ ルールの追加] ページの [コンテキスト ] セクションで、ルールを適用するカテゴリを追加または削除できます)。
[ 新しいクエリ ルール ] を選択します。
[ クエリ ルールの追加] ページで、以下の手順を実行します。
[ 全般情報 ] セクションの [ ルール名 ] テキスト ボックスに、新しいクエリ ルールの名前を入力します (たとえば、SharePoint Server の結果を表示する)。
[コンテキスト] セクションが折りたたまれている場合は、[コンテキスト] の横にある矢印を選択して展開します。
[ コンテキスト ] セクションで、[ クエリがこれらのソースに対して実行されます] で、ユーザーが結果ソースに対して送信するクエリに対してこのクエリ ルールを適用する場合は [ すべての ソース] を選択するか、[ これらのソースの 1 つ] を選択し、クエリ ルールを適用するその他の結果ソースを追加するには、必要に応じて [ ソースの追加] を選択します。
注:
[Search_service_application_name: クエリ ルールの追加] ページで選択した結果ソース (たとえば、ローカル SharePoint の結果 (この手順の手順 5a を参照) ) は、次のいずれかのソースの下に表示されます。 > これらのソースの 1 つを選択すると、この一覧のいずれかの結果ソースに対してユーザーがクエリを送信した場合にのみ、このクエリ ルールが適用されます。 そのため、このクエリ ルールを適用する結果ソースが表示されていることを確認します ( たとえば、ローカル SharePoint 結果)。
(オプション) [ クエリはこれらのカテゴリから実行されます] で、クエリの実行元のトピック カテゴリを (Managed Metadata Service Application の用語ストア内のトピック カテゴリの用語に基づいて) 指定します。
(オプション) [ クエリはこれらのユーザー セグメントごとに実行されます] で、クエリ ルールを適用するユーザー セグメントを (Managed Metadata Service Application の用語ストア内のユーザーを説明する用語に基づき) 指定します。
[ クエリ条件] セクションで、ルールの起動タイミングを制御する条件を指定するか、クエリ テキストに対してルールを起動する場合は、[ 条件の削除] を選択します。 テストの場合は、[ 条件の削除 ] を選択して、クエリ テキストに対してルールが発生するようにすることをお勧めします。
[ アクション] セクションの [ 結果のブロック] で [ 結果のブロックを追加] をクリックします。
(オプション) [ブロックのタイトル] セクションの [タイトル] テキスト ボックスで、「 SharePoint Server からの "{subjectTerms}" の結果」のように、検索結果ページの結果ブロックの上部に表示するテキストのタイトルを変更します。
[クエリ] セクションには、実行するクエリを入力できます。 SharePoint Server または Microsoft 365 の SharePoint でのクエリ変換に慣 れていない 場合は、テキスト ボックスに既定のクエリ変換を 保持 することをお勧めします。 既定の変換は、{searchTerms} です。 クエリ変換に慣れている場合は、テキスト ボックスに別のクエリ変換を入力するか、クエリ ビルダーを起動してクエリ変換を構成することで、既定のクエリ変換を変更できます。 詳細については、「SharePoint Server でのクエリと順序の結果の変換を計画する」および「SharePoint Server のクエリ変数」を参照してください。
[ クエリ ] セクションの [ このソースの検索 ] ドロップダウンで、この記事の前の手順で作成した結果ソースの名前を選択します ( 手順 1: Microsoft 365 の SharePoint から検索結果を取得する方法を定義する結果ソースを作成する)。
[ クエリ ] セクションの [ アイテム ] ドロップダウンで、検索結果ページのこの結果ブロックに表示する SharePoint Server の検索結果の数を選択します。 たとえば、[ 3 ] を選択すると、この結果ブロックに SharePoint Server の 3 つの結果が表示されます。
結果ブロックの下部に [詳細 表示] リンクを表示する場合は、[ 設定] セクションを展開し、[ その他のリンクは次の URL に移動します] を選択し、SharePoint Server 検索インデックスからより多くの結果を表示するページへのリンクの URL を入力します。 たとえば、メインの検索結果ページを、より多くの結果を表示するページとして指定するには、通常、次のフォームの URL を入力します (その後に "?k={subjectTerms}" を入力してユーザーの検索クエリを示します)。http:// Tenant_Name.sharepoint.com/sites/Search_Center_Name/pages/results.aspx?k={subjectTerms}。 ユーザーが [詳細を表示] を選択すると、結果ブロックにさらに多くの結果が表示されます。
Microsoft 365 の SharePoint からの結果に対する SharePoint Server からの結果ブロックの配置を指定します。 [ このブロックは、主要な検索結果の上に常に表示されます] を選択すると、結果ブロックが検索結果の 1 ページ目の上部またはその近くに表示されます。 この場合、主要な結果は、Microsoft 365 検索インデックスの SharePoint からの結果です。 このオプションは、テストを行う場合や、関連するコンテンツの大部分がハイブリッド環境のリモート検索インデックスに配置されている場合に役立ちます。 複数の結果ブロックでこのオプションを選択した場合は、関連付けられたクエリ ルールをランク付けすることで、結果ブロックが表示される順序を構成できます。 [ このブロックは、主要な検索結果内にランク付けされます (表示されない場合があります)] を選択すると、結果ブロックが主要な結果と比較した関連性のランクに応じて表示されます。この場合、結果ブロックが検索結果の 1 ページ目に表示されない可能性もあります。 これは既定の設定で、運用環境では通常、より適切なオプションとなります。 個別の結果について見ると、結果ブロックのランクは同じクエリを後から実行した場合と異なる可能性があります。 たとえば、ユーザーが結果ブロックで検索結果を選択した場合、結果ブロックは時間の経過とともに検索結果の上位にランク付けされます。 反対に、結果がクリックされないと、結果ブロックのランクは次第に低くなります。
(オプション) [グループ表示テンプレートの URL] テキスト ボックスで、他のグループ表示テンプレートの URL を指定します。
(省略可能)[項目表示テンプレート] テキスト ボックスに 項目表示テンプレートを 指定します。
[ ルーティング] セクションをスキップします。
結果ブロックを追加するには、[ OK] を選択します。
(オプション) クエリ ルールをアクティブにする期間を指定します。 [ 発行 ] セクションで、[ 開始日]、[ 終了日]、[ レビュー日]、[ 連絡先 ] の各フィールドを使用します。 開始日と終了日によって、クエリ ルールがアクティブになる期間を指定します。 開始日を指定して終了日を指定しない場合、ルールは開始日以降、常にアクティブになります。 終了日を指定して開始日を指定しない場合、ルールは終了日まで常にアクティブになります。 開始日か終了日を指定しない場合、ルールは常にアクティブになります。
クエリ ルールをアクティブにするには、[ 発行 ] セクションで [ アクティブ] を選択します。 クエリ ルールをアクティブにすると、クエリ条件に適合した場合に毎回適用されます。
[保存] を選択します。
しばらくすると、フェデレーション ユーザーが Microsoft 365 Search Center の SharePoint から、この手順の手順 5 で指定した結果ソースに対してクエリを送信すると、次の図に示すように、両方の検索インデックスの結果が表示されます。 画像では、SharePoint Server の 2 つの検索結果のブロックが、Microsoft 365 の SharePoint の検索結果の上に表示されます。
注:
フェデレーション ユーザーとは、オンプレミスの Active Directory Domain Services (AD DS) ドメイン アカウントが Microsoft 365 の SharePoint Server と SharePoint の間で同期され、Active Directory フェデレーション サービス (AD FS) 2.0 などのフェデレーション ID プロバイダーで認証することで、両方の環境のリソースにアクセスするユーザーです。
手順 3: Microsoft 365 の SharePoint で SharePoint Server 2013 の検索結果を表示するための構成をテストする
次の手順に従って、Microsoft 365 の SharePoint での SharePoint Server 展開からの検索結果を表示するための構成を検証します。
重要
シングル サインオン (SSO) を使用している場合、フェデレーション ユーザー アカウントを使用してテストすることが重要です。 フェデレーションされていないネイティブ ユーザー アカウントと AD アカウントは、両方のディレクトリ サービスで認識されません。 そのため、SSO を使用して認証することや、両方の環境内のリソースへの権限を付与することができません。 詳細については、「 ハイブリッド構成とテストに必要なアカウント」を参照してください。
SharePoint 管理センターの [その他の機能] に移動し、Microsoft 365 の管理者権限を持つアカウントでサインインします。
[ 検索] で、[ 開く] を選択します。
[ クエリ ルールの管理] を選択します。
クエリ ルールの管理ページで、以下の手順を実行します。
- [ 結果ソースの選択 ] ドロップダウンで、この記事の手順 2 の手順 4a で選択した結果ソースを選択します ( 手順 2: Microsoft 365 の SharePoint でハイブリッド検索結果を有効にするクエリ ルールを作成する) ( ローカル SharePoint の結果など)。
その結果ソースに適用されるクエリ ルールの一覧が表示されます。
- クエリ ルールの一覧で、この記事の手順 2 に従って作成したクエリ ルールを選択します (手順 2: Microsoft 365 の SharePoint でハイブリッド検索結果を有効にするクエリ ルールを作成する) (たとえば、SharePoint Server 2013 の結果を表示する)。
クエリ ルールを編集するためのページの [アクション] セクションの [結果ブロック] サブセクションで、SharePoint Server 検索インデックスの結果を表示するクエリ ルールの名前の横にある [編集] を選択します (たとえば、SharePoint Server 2013 の結果を表示する)。
[ 結果ブロックの編集 ] ダイアログの [ クエリ ] セクションで、[ クエリ ビルダーの起動] を選択します。
[ クエリのビルド ] ダイアログの [ 基本 ] タブで、次の操作を行います。
[ クエリの選択 ] セクションで、この記事の手順 1 に従って作成した結果ソースを選択します ( 手順 1: SharePoint Server 2013 展開から検索結果を取得する方法を定義する結果ソースを作成する) (SharePoint Server から結果を取得するなど)。
[ クエリ テキスト ] セクションで、既定のテキスト ({subjectTerms}) を削除し、SharePoint Server 検索インデックスから検索結果を生成するテスト クエリ (会社の名前など) を入力します。
[ テスト クエリ] を選択します。
[ 検索結果プレビュー ] ウィンドウで、検索構成が有効で、SharePoint Server に関連する結果がある場合、Microsoft 365 検索システムの SharePoint には SharePoint Server の検索結果が表示されます。 構成に問題がある場合には、検索システムによってトラブルシューティングに関する情報を表示することができます。
[OK] を選択します。
手順 4: Microsoft 365 検索センターで SharePoint から検索を試す
Microsoft 365 検索センターの SharePoint で Microsoft 365 の SharePoint サーバーと SharePoint の両方の検索結果を表示するための構成を検証するには、フェデレーション ユーザーとして Microsoft 365 の SharePoint にサインインし、エンタープライズ検索センターから検索を試すことができます。 この方法で構成を検証するには、以下の手順を使用します。
Microsoft 365 の SharePoint でアクティブ化され、ルート サイト コレクションを表示するアクセス許可を持つフェデレーション ユーザーとして、Microsoft 365 の SharePoint にサインインします。
Microsoft 365 の SharePoint のエンタープライズ検索センターに移動します。
通常、Microsoft 365 の SharePoint のエンタープライズ検索センターは、https://<domain>.sharepoint.com/search にあります(たとえば、
https://adventureworks.sharepoint.com/search
)。エンタープライズ検索センターで、以下の手順を実行します。
- 検索ボックスに、会社の名前などのテスト クエリを入力します。
テスト クエリで、SharePoint Server 検索インデックスと Microsoft 365 の Microsoft 365 の SharePoint の検索インデックスから検索結果が生成されることを確認します。
検索アイコンを選択するか、Enter キーを押します。
この記事の 2 番目の手順の手順 5c で指定した結果ソースを使用する検索バーティカルを選択します (手順 2: Microsoft 365 の SharePoint でハイブリッド検索結果を有効にするクエリ ルールを作成する)。 つまり、[ クエリ ルールの追加] ページの [ コンテキスト ] セクションの [クエリが これらのソースに対して実行されます] で指定した垂直検索を選択します。
検索結果ページには、Microsoft 365 の SharePoint の検索インデックスと SharePoint Server 検索インデックスの結果ブロックの結果が表示されます。
注:
SharePoint Server ファームのコンテンツからの検索結果のターゲットを表示するには、プライマリ Web アプリケーションのルート サイト コレクションに対する読み取りアクセス許可が少なくともユーザーに必要です。 (SharePoint ハイブリッド環境では、プライマリ Web アプリケーションは SharePoint Server ファームにあり、Microsoft 365 からすべての接続を受信するために使用されます。プライマリ Web アプリケーションの詳細については、「 Microsoft 365 から SharePoint Server への接続を計画する」を参照してください)。
検索結果ページに両方の検索インデックスの結果が表示されない場合は、次の操作を行います。
SharePoint Server の検索システムでローカル コンテンツがクロールされていることを確認します。
この記事に記載されている手順に従って検索機能を構成したことを確認します。
エラーや入力漏れがあれば修正し、再度検索を実行します。
両方の検索インデックスの検索結果が表示されない場合は、Microsoft 365 Unified Logging Service (ULS) ログ (Microsoft 365 トレース ログの SharePoint とも呼ばれます) の SharePoint を確認してください。
詳細については、「 統合ログ システム (ULS) ログ記録の概要」を参照してください。