タグクラウドの表示 (1)


エンタープライズサーチで、時々タグクラウドを表示したいというリクエストがあります。
そこで、FAST Search Server 2010 for SharePoint (FS4SP) を利用して、タグクラウドを表示してみましょう。原理としては、類似文書検索機能で利用されているアイテムの類似ベクトルの情報を絞り込み情報に表示するようにした上で、それをタグクラウド形式で表示します。タグクラウド形式で表示する方法は、次回にご紹介します。

類似の検索 (FAST Search Server 2010 for SharePoint)
http://msdn.microsoft.com/ja-jp/library/ff521597.aspx

以下の手順で、類似ベクトルの情報を絞り込み情報に表示します。

1. プロパティ (クロールされたプロパティおよび管理プロパティ) を作成します

FS4SP サーバー上の FAST Search Server 2010 for SharePoint shell から以下のコマンドレットを実行します。これで、”concepts” という名称のプロパティを作成します。

$c = New-FASTSearchMetadataCrawledProperty -Name concepts -varianttype 31 -Propset 48385c54-cdfc-4e84-8117-c95b3cf8911c
$m = New-FASTSearchMetadataManagedProperty -name concepts -type 1
$m.RefinementEnabled = 1
$m.MergeCrawledProperties = 1
$m.Update()
New-FASTSearchMetadataCrawledPropertyMapping -CrawledProperty $c -ManagedProperty $m

2. パイプライン拡張用のモジュールの作成

ファイルをダウンロードし、Visual Studio 2010 で必要に応じて変更して、コンパイル後に GetConcepts.exe ファイルを FS4SP サーバー上の %FASTSEARCH%\FASTSearch\bin ディレクトリにコピーします。
このモジュールは、単純に入力値 (docvector クロールされたプロパティ) を出力値 (concepts クロールされたプロパティ) へコピーします。但し、類似文書検索には有効ですが日本語文書に対するタグクラウドの表示には不向きなので英語のみのベクトル情報は除外しています。

3. 設定ファイルの変更

設定ファイル %FASTSEARCH%\etc\pipelineextensibility.xml を以下のように変更します。

<PipelineExtensibility>

<Run command=”GetConcepts.exe %(input)s %(output)s”>

<Input>

<CrawledProperty propertySet=”48385C54-CDFC-4E84-8117-C95B3CF8911C” varType=”31″ propertyName=”docvector”/>

</Input>

<Output>

<CrawledProperty propertySet=”48385C54-CDFC-4E84-8117-C95B3CF8911C” varType=”31″ propertyName=”concepts”/>

</Output>

</Run>

</PipelineExtensibility>

4. アイテム処理をリセットします

FS4SP サーバー上の FAST Search Server 2010 for SharePoint shell から以下のコマンドレットを実行します。

psctrl reset

5. ドキュメントを再クロールします

6. 絞り込みパネルの変更をします

今回は、とりあえず確認のために、FAST Search センター サイト テンプレートで作成した SharePoint サイトの検索結果画面に配置されている「検索結果の絞り込みパネル」Web パーツの設定を次の通り変更します。

  • [既定の構成を使用する] のチェックを外す
  • [フィルター カテゴリの定義] の「<FilterCategories>」直後に、以下のような記述を追加します

<Category Title=”キーワード”            Description=”このフィルターを使って検索結果をキーワードで絞り込みます”            Type=”Microsoft.Office.Server.Search.WebControls.ManagedPropertyFilterGenerator”            MetadataThreshold=”1″            NumberOfFiltersToDisplay=”4″            MaxNumberOfFilters=”20″            ShowMoreLink=”True”            MappedProperty=”concepts”            MoreLinkText=”表示数を増やす”    LessLinkText=”表示数を減らす”            ShowCounts=”Count”/>

 

これで、以下のように「キーワード」絞り込みにタグクラウドで利用する情報が表示されるようになります。この形式での表示でもいい場合には、そのまま利用してください。

20111231

広告