SharePoint 2013 検索結果にカスタムの結果ブロックを表示する

こんにちは、SharePoint サポートの佐伯です。
今回の投稿では、検索ページにカスタムの結果ブロックを表示する方法をご紹介します。

検索の結果ブロックとは、検索クエリがある条件に合致した場合に表示される特別な検索結果のグループです。検索結果ページにどのような結果ブロックを表示するか (例 ユーザーの関連情報、Excel ファイルの一覧)、また結果ブロックを表示するための条件 (例 検索ボックスの単語がひとの名前に一致した場合、検索ボックスに入力された単語に .xlsx がある場合) をクエリ ルールに設定し、検索結果に反映させます。
SharePoint では、既定でいくつかのクエリ ルールが用意されていますが、今回は新たにクエリ ルールを作成する方法を説明します。

なお、本投稿では、クエリ ルールと結果ブロックについて全体的なイメージを掴んでいただくことを目的にしています。そこで、具体的な例をあげて設定方法をご紹介します。各設定項目の説明については省略している場合がありますので、詳細な内容については下記の公開情報をご確認ください。また、ご要件に合わせて設定を行う場合も、下記をご参考にしていただけますと幸いです。
参考) クエリ ルールを管理する

それでは始めましょう。

例) 検索結果ページにドキュメントの検索結果を表示する結果ブロックを追加する
例えば、「サンプル」というキーワードにヒットするドキュメント (xlsx、docx ファイル等) を調べたいとします。(ドキュメントを対象とした検索が運用上多く聞かれますので、ドキュメントの検索をテーマにしました。)
検索ボックスに「サンプル」というキーワードを入力して検索した場合に、以下のようにドキュメント以外のコンテンツが検索結果として取得されることがあります。

そこで、検索ボックスに「ドキュメント」というキーワードを追加すると、「サンプル」「ドキュメント」 のキーワードに対してヒットする検索結果が取得されますので、以下のような検索結果が取得されます。

ここでは、xlsx や docx ファイル等のドキュメントを対象とした検索結果を取得したいので、「ドキュメント」というキーワードを含んで検索することにより、ドキュメントを対象として「サンプル」というキーワードで検索結果を取得するような結果ブロックを追加してみましょう。

下記の手順でクエリ ルールを作成し、これに結果ブロック (ドキュメントを対象とした検索結果の一覧) と、結果ブロックを表示するための条件 (検索ボックスの先頭または末尾に「ドキュメント」を含む) を設定します。

- 手順
1. サイトにアクセスし、[サイトの設定] 画面で [検索] – [クエリ ルール] をクリックします。
補足 : クエリ ルールは Search Service Application、サイト コレクション、サイト単位で設定することが可能です。今回はサイト単位で設定します。

2. [クエリ ルールの管理] 画面でコンテキストを選択します。ここでは、[ローカル SharePoint の結果 (システム)] を選択します。コンテキストを選択後、[新しいクエリ ルール] をクリックします。

3. ルール名を入力します。ここでは、ドキュメント検索 とします。

4. [クエリの条件] 項目を設定します。上のプルダウンで [クエリにアクション用語を含める] を選択します。 [アクション用語はこれらの語句の 1 つです]  を選択し、ドキュメント と入力します。これにより、「ドキュメント」という単語が検索ボックスの先頭または末尾に入力された場合に、このクエリ ルールを実行します。

5. ドキュメントの検索結果を表示する結果ブロックを追加します。[アクション] 項目内の [結果のブロックを追加] をクリックします。

6. [結果のブロックを追加] ダイアログが表示されます。これから、ブロックのタイトル、クエリ、設定の項目をそれぞれ設定していきます。

7. 結果ブロックに表示するタイトルを設定します。[ブロックのタイトル] 項目に "{subjectTerms}" のドキュメント検索結果 を入力します。

8. [クエリ] 項目の [クエリ ビルダーを起動します] をクリックします。

9. [クエリの作成] ダイアログが表示されます。検索ボックスに入力された「ドキュメント」を除いたキーワードで、ドキュメントを対象とした検索結果を取得するため、クエリ テキストに下記を入力します。
{subjectTerms} (FileExtension:doc OR FileExtension:docx OR FileExtension:xls OR FileExtension:xlsx OR FileExtension:ppt OR FileExtension:pptx OR FileExtension:pdf)

10. [OK] をクリックして、[クエリの作成] ダイアログを閉じます。
11. [クエリ] 項目の [アイテム] で、結果ブロックに表示するアイテムの最大数を設定します。ここでは 5 を設定します。

12. [設定] 項目を展開します。結果ブロックを検索結果の上部に表示するため、 [このブロックは、主要な検索結果の上に常に表示されます] を選択します。次に、結果ブロックを描画する際に使用する表示テンプレートを設定します。グループ表示テンプレートには [既定のグループ] 、アイテム表示テンプレートには [検索結果の種類を使用する] を設定します。

13. [OK] をクリックして、[結果のブロックを追加] ダイアログを閉じます。
14. [保存] をクリックして、クエリ ルールを保存します。
以上で完了です。以上の内容は参考例となりますので、ご要件に合わせて変更、動作確認を行ってください。

今回の投稿は以上です。
検索の設定やカスタマイズに関する過去の投稿をまとめておりますので、ご参考にしていただけますと幸いです。
SharePoint 2013 検索の設定やカスタマイズに関する投稿まとめ