SharePoint 2013 検索結果の種類でプロパティの同期を実施する


こんにちは、SharePoint サポートの佐伯です。
今回の投稿では、サイト コレクションまたはサイト レベルで作成した検索結果の種類で、プロパティ同期を実施するタイミングとその方法について記述します。

- 前提
検索結果 Web パーツでは、検索結果を描画する際に、「単一の表示テンプレート (*1) を使用する」か、「検索結果の種類 (*2) に合わせて使用する表示テンプレートを変更する」かを Web パーツの設定で選択することができます。本投稿は「検索結果の種類に合わせて使用する表示テンプレートを変更する」設定にしている場合のお話となります。
*1 : 表示テンプレートとは、検索結果の表示を定義したファイルです。詳細はこちらをご覧ください。
*2 : 検索結果の種類とは、対象となる検索結果の条件と、その条件を満たす場合に実行するアクションを設定したものです。検索結果のアイテムに合わせて、表示の際に使用する表示テンプレートを変えることができます。詳細はこちらをご覧ください。

検索結果に表示させる管理プロパティを追加する場合、表示テンプレートを編集し、該当の管理プロパティのマッピングを追加する必要があります。このマッピングを追加することで、検索実行時に取得される管理プロパティの種類を増やすことができます。
例) 表示テンプレートの既定の管理プロパティのマッピングに TestProperty という管理プロパティを追加する場合、下記のように記述します。

<mso:ManagedPropertyMapping sdt:dt="string">
'Title':'Title','Path':'Path','Description':'Description','EditorOWSUSER':'EditorOWSUSER',
'LastModifiedTime':'LastModifiedTime','CollapsingStatus':'CollapsingStatus','DocId':'DocId',
'HitHighlightedSummary':'HitHighlightedSummary','HitHighlightedProperties':'HitHighlightedProperties',
'FileExtension':'FileExtension','ViewsLifeTime':'ViewsLifeTime','ParentLink':'ParentLink',
'FileType':'FileType','IsContainer':'IsContainer','SecondaryFileExtension':'SecondaryFileExtension',
'DisplayAuthor':'DisplayAuthor',’TestProperty’:’TestProperty’
</mso:ManagedPropertyMapping>

ただし、検索結果を取得する際、実際には表示テンプレートのマッピング情報ではなく、検索結果の種類が保持するマッピング情報をもとにして、検索結果アイテムの管理プロパティが取得されます。
では、検索結果の種類のマッピング情報はいつ、どのようにして更新されるのでしょうか。それは、検索結果の種類の設定で表示テンプレートを選択し保存をしたタイミングです。この時、表示テンプレートのマッピング情報が検索結果の種類のマッピング情報に同期されます。
そのため、表示テンプレートのマッピング情報を変更した場合は、その表示テンプレートが関連付けられた検索結果の種類を更新し、マッピング情報を同期させる必要があります。

なお、検索サービス (SSA) によって提供されている検索結果の種類はサイトで使用することできますが、これらが保持するマッピング情報はサイト コレクションやサイト レベルで設定変更することができません。つまり、SSA の検索結果の種類に対して管理プロパティのマッピングを新しく追加することはできません。
そのため、検索時に取得する管理プロパティの種類を自由に変更する場合は、サイト コレクションまたはサイト レベルで検索結果の種類を作成し、表示テンプレートのマッピング情報をこの検索結果の種類のマッピング情報に同期させる必要があります。

プロパティを同期するその他の方法
表示テンプレートのマッピング情報と検索結果の種類のマッピング情報に差異がある場合、検索結果の種類の管理画面では、「一部の表示テンプレートのプロパティが更新されました。最新のプロパティを持つ検索結果の種類を更新。」といったメッセージが表示されます。この [更新] をクリックすることでも、表示テンプレートのマッピング情報と検索結果の種類のマッピング情報を同期させることができます。

[更新] をクリックして同期をすると、下記のようなメッセージが表示されます。

まとめ
検索結果 Web パーツで検索結果の種類に合わせて使用する表示テンプレートを変える設定を行っており、表示テンプレートの管理プロパティのマッピングを編集した場合、変更内容をサイト コレクションまたはサイト レベルで作成した検索結果の種類のプロパティ情報に同期させるため、以下のいずれかを実施します。
1) 検索結果の種類の管理画面に表示される [プロパティの同期] で更新リンクをクリックする
2) 該当の表示テンプレートが関連付けられた検索結果の種類の編集画面を開いて [保存] ボタンをクリックする
※これからサイト コレクションまたはサイト レベルで検索結果の種類を作成する場合は、作成するタイミングでプロパティの同期が行われます。

今回の投稿は以上です。
検索の設定やカスタマイズについては、下記のブログ記事をご参考にしていただけますと幸いです。
SharePoint 2013 検索の設定やカスタマイズに関する投稿まとめ

Comments (0)

Skip to main content