SharePoint 2013 検索の並べ替え条件で目的の管理プロパティを使用するための設定

こんにちは、SharePoint サポートの佐伯です。
今回の投稿では、管理プロパティを検索の並べ替え条件で使用するための設定について説明します。
管理プロパティを検索の並べ替え条件として使用する場合は、該当の管理プロパティの設定で並べ替えを可能にしておく必要があります。設定方法は下記をご確認ください。

管理プロパティで並べ替えを可能に設定する方法
1. サーバーの全体管理サイトにアクセスします。
2. [アプリケーション構成の管理] - [サービス アプリケーションの管理] をクリックします。
3. 該当の Search Service Application をクリックします。
4. サイド リンク バーから [検索スキーマ] をクリックします。
5. 管理プロパティの一覧から目的の管理プロパティをクリックし、[プロパティの編集/マップ] をクリックします。
6. 管理プロパティの編集ページで、[並べ替え可能] の設定を確認します。
[いいえ] が設定されている場合は、該当の管理プロパティを使用した並べ替えが無効になっています。これを有効にする場合は、[はい – アクティブ] に変更した後、フルクロールを実行します。

参考情報) 管理プロパティの編集方法については、下記の TechNet の記事もご参照ください。
SharePoint Server 2013 で検索スキーマを管理する

なお、管理プロパティで並べ替えが可能に設定されていない場合、例えば下記のような現象が発生します。
現象1 : コンテンツ検索 Web パーツで並べ替え条件を設定する際、[クエリの変更] – [検索の並べ替え] の設定で目的の管理プロパティが見つからない。
現象2 : 検索の REST URL で sortlist パラメーターに目的の管理プロパティを設定すると、検索結果が取得できない。
例) https://sharepoint/_api/search/query?querytext='keyword'&sortlist='Title:ascending'
現象3 : JSOM を使用した検索結果の取得で SortList プロパティに目的の管理プロパティを追加すると、検索結果が取得できない。
例) var keywordQuery = new Microsoft.SharePoint.Client.Search.Query.KeywordQuery(context);
keywordQuery.set_queryText("keyword ");
var sortList = keywordQuery.get_sortList();
sortList.add("Title", 0);

これらの要因として、該当の管理プロパティの設定で並べ替えが可能になっていないことが考えられます。上記の現象に該当する場合は、まずは管理プロパティの並べ替え可能の設定をご確認ください。

今回の投稿は以上です。