SharePoint 2013 の検索結果の種類と表示テンプレート

原文の記事の投稿日: 2012 年 10 月 31 日 (水曜日)

こんにちは、SharePoint チームでプログラム マネージャーを務める Kate Dramstad です。この投稿では、SharePoint 2013 の検索機能の向上についてご説明します。この投稿は、結果の種類と表示テンプレートがどのように連携してリッチな検索機能を実現しているのかに関する、大まかな概要です。この投稿から 1 つだけ概念を抜き出すとしたら、結果の種類 + 表示テンプレート = リッチな検索機能となります。

優れた検索機能の作成

優れた検索機能の特徴は、ユーザが探している対象をすばやく見つけることがどれだけ簡単かという点にあります。ほとんどの検索 UI では、すべての検索結果が同じように表示されるので、個々の結果を注意深く見渡すことはユーザーに任されており、ひどい場合には、特定の結果が目的の対象かどうかを判断するために、結果ページと結果の間を行き来する羽目になります。最適な検索機能では、ユーザーは、探している対象が見つかったという自信を持って、1 度だけクリックすればいいはずです。

SharePoint 2013 では、表示テンプレートと結果の種類によって検索機能が大幅に向上しています。結果の見た目に違いがなく延々とクリックしなければならない日々は終わりました。ドキュメントがすべて同じではないように、検索結果も同じであるはずがありません。SharePoint 2013 では、検索結果の見た目をきめ細かく制御できる機能が提供されます。次のスクリーン ショットをご覧ください。色の付いたボックスは、それぞれ別の表示テンプレートによって制御されている UIの領域を表します。

検索 UI コンポーネントの見た目はそれぞれ別の表示テンプレートによって制御されている

図 1: 検索 UI コンポーネントはそれぞれ別の表示テンプレートによって制御されている

 

検索結果内の結果の種類ごとの表示テンプレート、結果の種類ごとのホバー パネル、および絞り込みコントロールが用意されています。これらの領域はそれぞれ、ユーザーの好みに応じて検索機能を提供できるように、カスタマイズ可能になっています。

結果の種類は、主に、検索結果のうちどのアイテムが結果の種類と一致するのかを記述したルールのセットで構成されます。ユーザーがクエリを発行すると、結果が返され、結果の種類に定められたルールに従って個々の結果が評価されます。次に、一致する種類に基づいて表示テンプレートが適用されます。既定では、SharePoint 2013 にはいくつかの定義済みの結果の種類が含まれています。

  • PowerPoint、Word、および Excel ドキュメントを対象とするリッチなドキュメントの検索結果
  • ニュースフィードの投稿、返信、コミュニティのディスカッションを対象とするリッチなスレッドの検索結果
  • リッチなビデオの検索結果、など

人の検索の種類については、ブログの投稿「人の検索について」で説明されています。結果の種類にはそれぞれ独自の表示テンプレートがあり、他の結果の種類とは異なる見た目になり、特定のドキュメントの種類に最も関連性が高いプロパティを目立たせます。

個々の結果の種類は表示テンプレートにマップされている

図 2: 個々の結果の種類は表示テンプレートにマップされている

カスタムの結果の種類と表示テンプレート

既定の結果の種類に加えて、独自の結果の種類を定義することができます。さらに、結果の種類をカスタムの表示テンプレートに関連付けることができるので、ユーザーにとって重要な特定の種類の結果を強調表示することができます。たとえば、ユーザーが発注書を探すときに、結果ごとにその発注書を承認した人も表示させるとします。これを実現するには、まず発注書用のカスタムの検索の種類を作成します。この例の会社では、発注書は IsPurchaseOrder プロパティを持つ Word ドキュメントであり、その他にも発注書の承認者、発注書の承認日、発注書のコストなどの追加のメタデータが付与されています。発注書の結果の種類を作成するには、Microsoft Word の結果の種類をコピーし、カスタム プロパティ IsPurchaseOrder が "True" と一致するものを結果として表示する指定を追加します。

次のステップでは、管理プロパティ POApprovedBy を目立たせる、発注書用のカスタムの表示テンプレートを作成します。表示テンプレートのカスタマイズは簡単です。すべてのカスタマイズは XLST ではなく HTML と JavaScript で行います。新しいテンプレートを作成するには、まず既存のテンプレートをコピーします。そのテンプレートに管理プロパティを追加することで、種類に特有の重要な情報を目立たせることができます。発注書の例の場合は、Word アイテム テンプレートをコピーし、そのテンプレートに管理プロパティ POApprovedBy を追加します。次に、HTML、JavaScript、および CSS を使用して UI のスタイルを設定します。

最後のステップでは、発注書の結果の種類から発注書の表示テンプレートをポイントさせます。これで、ユーザーがクエリを発行すると、まず発注書の結果のルールに従って各結果が評価されます。ルールに一致する場合は、発注書の表示テンプレートを使用して表示されます。そうでない場合は、既定の結果の種類のいずれかと一致し、それに対応するテンプレートを使用して表示されます。この新しい検索機能によって、ユーザーが検索対象を見つけるのがこれまでになく簡単になります。でもお待ちください。さらに多くのメリットがあります。

次のステップ

前述したように、表示テンプレートでは、結果の種類だけでなく検索 UI の多くの側面を制御できます。発注書の例をさらに発展させるのであれば、たとえば、既定では更新日の絞り込みで使用されるスライダーと棒グラフのテンプレートを使用して、発注コストに関する絞り込みを作成します。または、さらに多くの発注書特有のプロパティを目立たせる、カスタムのホバー パネルを作成することもできます。可能性は基本的に無限です。

次に私が投稿するブログ記事では、検索の管理者がカスタムの結果の種類と表示テンプレートを作成する方法について、コード レベルの詳細を説明します。この投稿が、カスタムの結果の種類やカスタムの表示テンプレートによってユーザーに有用な機能を提供できるシナリオについて、皆様が考えるきっかけになれば幸いです。皆様からのコメントをお待ちしています。

これはローカライズされたブログ投稿です。原文の記事は「Introducing SharePoint 2013 Search Result Types and Display Templates」をご覧ください。