SharePoint 2013 の検索レポートの情報をアプリケーションで取得


SharePoint Server 2013 には、サイト コレクションごとに参照数や検索回数など利用状況を表す「利用状況レポート」および検索に利用されたクエリ、検索したけど結果が取得できなかったクエリなど検索に関連する「検索レポート」が取得できます。

ちなみに、サイト毎に参照数などを取得することも可能です。

参照するには、SharePoint サイトに適切な権限を持つユーザーでアクセスして、[サイトの設定] メニューから [サイトコレクションの管理] – [人気と検索に関するレポート] にアクセスし、[利用状況 のレポートの表示] 画面で参照したいリンクをクリックすれば、Excel シートにまとまった結果が表示されます。

image

image

これで十分なことも多いですが、よく利用されているクエリを取得して再利用したい、といった場合には SearchServiceApplication クラスの GetSearchReport メソッドや GetRollupAnalyticsItemData を利用することになります。

以下で、上記 Excel シートと同じ内容である、2013 年 5 月の特定の SharePoint サイト コレクションの上位のクエリ結果を取得してみます。

$searchApp = Get-SPEnterpriseSearchServiceApplication
$site = Get-SPSite “SharePoint サイトん URL (例: http://server/)
$date = Get-Date “取得したい年月
$result = $searchApp.GetSearchReport(1, [System.Guid]::Empty, $site.ID, $date, $false, 1000)

GetSearchReport メソッドの引数は、それぞれ以下の通りです。

  • レポート ID (1 が「上位のクエリ」)
  • テナント ID (オンプレミスだと Empty)
  • サイト コレクション ID
  • 年月日
  • フラグ ($true は該当日、$false は該当月)
  • 最大取得件数

image

SearchServiceApplication.GetSearchReport method
http://msdn.microsoft.com/en-us/library/microsoft.office.server.search.administration.searchserviceapplication.getsearchreport.aspx

SearchServiceApplication.GetRollupAnalyticsItemData method
http://msdn.microsoft.com/en-us/library/microsoft.office.server.search.administration.searchserviceapplication.getrollupanalyticsitemdata.aspx

期待している通りに、簡単に取得できることがわかるはずです。
SharePoint 2010 から比べると、飛躍的に楽になっていますよ。新しく作り直された検索機能に含まれる分析コンポーネントの賜物です!

広告