SharePoint 2013 の検索結果 Web パーツで検索結果の並べ替えを行う

こんにちは。SharePoint サポートの佐伯です。
最近、SharePoint 2013 の検索機能の使用方法についてお問い合わせをいただくことが多くなりました。
特にアップグレードに関連したお問い合わせにて、SharePoint 2013 でも検索結果 Web パーツで同じ設定をしようとすると、設定できないまたは設定項目が見つからないというお問い合わせをいただきます。
その一つに、"検索結果の並べ替え" があります。

SharePoint 2010 では、主要な検索結果 Web パーツに "既定の結果の並べ替え" 項目があり、この設定により、"関連" または "更新日" で並べ替えを行うことができました。

実は、SharePoint 2013 では検索機能が拡張され、以前よりも柔軟な検索条件が指定できるようになりました。
検索条件の一つである並べ替えについても、SharePoint 2010 の "既定の結果の並べ替え" 項目がなくなり、JSON 指定となりますが、より柔軟な並べ替えの設定が追加されました。
今回の投稿では、SharePoint 2013 の検索結果 Web パーツで検索結果の並べ替えを行う方法についてご紹介いたします。

検索結果 Web パーツで検索結果の並べ替えを行う方法 検索結果 Web パーツでは、"並べ替えドロップダウン" の設定にて、検索結果の並べ替えを行います。

[並べ替えドロップダウンについて] 検索結果 Web パーツの並べ替えドロップダウンでは、並べ替えの条件を選択して検索結果を並べ替えることができます。
こちらの機能を使用して、検索結果を "最終更新日時の降順" に並べ替えてみましょう。

- 手順
1. SharePoint サイトにアクセスし、検索結果の並べ替えを行う検索結果 Web パーツを配置したページを開きます。

(補足) 上の画像はチーム サイトのトップページに検索結果 Web パーツを配置している例です。 基本検索センター サイトやエンタープライズ検索センター サイトでは、検索結果ページに既定で検索結果 Web パーツが配置されています。

2. [歯車] - [ページの編集] をクリックします。

3. 検索結果 Web パーツの [Web パーツの編集] をクリックします。

4. "設定" を展開します。

5. "並べ替えドロップダウンを表示する" にチェックを入れ、"使用可能な並べ替え順 (JSON)" に以下を記述します。

[{"name":"更新日","sorts":[{"p":"LastModifiedTime","d":1}]}]

(補足) "name" には並べ替え順の名称を、"sorts" には並べ替え順の条件 ("p" には管理プロパティ名、"d" には昇順の場合は 0、降順の場合は 1を指定) を設定します。

6. [適用] をクリックします。

7. 再度上記の設定に戻り、"並べ替えドロップダウンを表示する" のチェックをはずします。

8. [OK] をクリックし、ページを保存します。

検索結果が "最終更新日時の降順" で表示されました!


※上の画像では、表示テンプレートをカスタマイズして、検索結果のアイテムの最終更新日が表示されるようにしています。 表示テンプレートのカスタマイズ方法については、こちらの投稿をご参照ください。

なお、ユーザーに並べ替えの条件を変更させたい場合は、"並べ替えドロップダウンを表示する" にチェックを入れて保存します。
これによって、ドロップダウンから並べ替えの条件を変更することが可能です。

【使用可能な並べ替え順 (JSON) : 例】
[{"name":"更新日","sorts":[{"p":"LastModifiedTime","d":1}]},{"name":"関連","sorts":[{"p":"Rank","d":1},{"p":"IndexDocId","d":0}]},{"name":"日付(最新)","sorts":[{"p":"Write","d":1}]},{"name":"日付(最も古い)","sorts":[{"p":"Write","d":0}]},{"name":"有効期間ビュー","sorts":[{"p":"ViewsLifeTime","d":1}]},{"name":"最近のビュー","sorts":[{"p":"ViewsRecent","d":1}]}]
*2016 年 1 月追記
並べ替え順の条件を指定せずに検索した場合、Rank の降順、IndexDocId の昇順で並べ替えが行われます。
"使用可能な並べ替え順 (JSON)" に既定で設定されている「関連」順は、並べ替え順の条件が設定されていないため、Rank の降順、IndexDocId の昇順になります。つまり、実際には下記は同じ条件で並べ替えが行われます。
(1) {"name":"関連","sorts":[]}
(2) {"name":"関連","sorts":[{"p":"Rank","d":1},{"p":"IndexDocId","d":0}]}

ただし、この「関連」順がプルダウンの最上部でない (2 番目以降) 場合、動作に違いが出ます。
(1) のように設定し、この条件を選択して検索した場合、ページの読み込み時に並べ替えドロップダウンは最上部の条件が選択される動作となります。「関連」順をもともと最上部に設定されている場合は問題ありませんが、2 番目以降に設定される場合は (2) のように明示的に並べ替え順の条件を記述いただきますようお願いいたします。

※ご注意
[Web パーツの編集] - [クエリの変更] の "検索の並べ替え" の設定ではなく、上述の並べ替えドロップダウンの設定が検索結果に反映されます。
検索結果の並べ替えは、本投稿でご紹介している並べ替えドロップダウンの設定より行ってください。

今回の投稿は以上になります。

検索のカスタマイズや設定に関する過去の投稿もご参考にしていただけますと幸いです。
SharePoint 2013 検索の設定やカスタマイズに関する投稿まとめ