SharePoint 検索

SharePoint ファイル検索 機能を追加する – 検索結果にファイル名を表示する

  • 2015.01.14
  • Rie Okuda

前回の投稿で SharePoint の検索画面に 「ファイル」 検索バーティカルメニューを追加する内容をご紹介しました。

今日は関連する内容として、ファイル検索結果の表示形式をカスタマイズする方法をご紹介します。
既定ではファイルが検索にヒットした場合、検索結果として表示される形式は、上図のとおりです。ファイル名のような内容 (上図だと 「サマーセール企画」 とか 「技術資料1」) が表示されていますが、これはファイル名ではなく、ファイルの [タイトル] プロパティです。

[タイトル] プロパティが空白の場合は、ファイル名が表示されますが、ファイル名と [タイトル] プロパティが別々の値の場合、こんな感じに。
SearchDT4
(ファイル名はテスト.docx、タイトル プロパティの 「aaa」が表示されてる)

たとえばファイルのテンプレートがある場合等には、テンプレートにあらかじめタイトル プロパティの値が入っており、それを変更しない場合も多いかと。成果物ファイルのタイトル プロパティの値は入っているけど、意味なない。なんていう場合に、ちょっとうっとうしいです。

ここで、ちょっとだけ検索結果の表示のしくみを。

SharePoint 2013 では検索結果は、検索結果の種類ごと (ファイル、サイト、ひと など) に表示テンプレートが用意されており、表示テンプレートをカスタマイズすることで、検索結果の表示形式を変更できます。

既定でも、検索結果がファイルであっても、パワポの場合と Word の場合、Excel の場合で若干違った表示形式となるのは、それぞれ表示テンプレートが違うためです。
表示テンプレートはマスターページ ギャラリーの [Display Templates] – [Search] フォルダー内に格納されています。
SearchDT2
また検索結果の種類ごとに、どの表示テンプレートを利用するかは、[検索結果の種類] に設定されています。 (下図は、[サイト コレクションの管理] – [検索結果の管理] 画面内)
SearchDT3
SearchDT1

表示テンプレートを新しく作成し、どの検索結果で表示するかといったルールを [検索結果の種類] に登録すると、表示形式にさまざまなバリエーションをもたせられます。たとえば拡張子が●●の場合にはこう表示したい!とか、●●というコンテンツタイプの場合にこう表示したい!とか、このサイト内のコンテンツのみこう表示したい!とか。

検索結果のしくみについては簡単にここまでとしますが、今日はこの表示テンプレートを利用して、検索結果に [タイトル] プロパティではなく [ファイル名] を表示させてみます。

表示テンプレートは、ファイルの場合 Word のもの、Excel のものと、既定でも複数用意されています。Word の場合のみこう変えたい、Excel の場合のみこう変えたい。という場合はそれぞれ対応する表示テンプレートをカスタマイズしますが、今回やりたいことはそうではありません。Word でも Excel でもファイルが検索にヒットした場合に、表示を変更したいのです。そのため、各表示テンプレートのさらにベースとなる Item_CommonItem_Body.html をカスタマイズします。

<手順>

1.マスターページ ギャラリー内の [Display Templates] – [Search] フォルダー内の、
Item_CommonItem_Body.html を次のように編集します。

if ($isEmptyString(title)) {title =$htmlEncode(ctx.CurrentItem.Title)} の次の行に下記コードを追加

if(ctx.CurrentItem.FileExtension == “doc”||ctx.CurrentItem.FileExtension == “docx”||ctx.CurrentItem.FileExtension == “dot”||ctx.CurrentItem.FileExtension == “dotx”||ctx.CurrentItem.FileExtension ==”xls”||ctx.CurrentItem.FileExtension ==”xlsx”||ctx.CurrentItem.FileExtension ==”ppt”||ctx.CurrentItem.FileExtension ==”pptx”||ctx.CurrentItem.FileExtension==”vsdx”){title=ctx.CurrentItem.Path.replace(/^.*[\\\/]/,’ ‘);} 

※ if 文内のファイル拡張子は、必要に応じて編集、追加ください。
※ SharePoint Designer 2013 で開いて編集&上書きしてもいいし、ファイルをダウンロードして
メモ帳等テキストエディターで編集後、上書きアップロードしてもどっちでも OK。

2.上書き保存したら、ファイルをメジャーバージョンに発行してください。

<結果>
SearchDT5

 

これはサイト コレクション内のファイルに対するカスタマイズです。サイトコレクションごとやサイトごとに検索センターサイトがサイト コレクションをまたいで複数存在する場合、それぞれカスタマイズを適用したいサイト コレクションに対して設定を行ってください。

奥田

お問い合わせ

イルミネート・ジャパンが提供するトレーニングやサービスに関するご相談など、
お気軽にご連絡ください。

担当者に相談する