Wednesday, May 8, 2013

Alfrescoの検索対象属性を追加する

 こんにちは。GWは館林のこいのぼりを見に行った大谷です。世界一を標ぼうするだけあってさすがの規模でしたが、若干食傷気味でもあります。

 さて、今回はAlfrescoの検索機能についての話をしようと思います。Alfrescoには簡易検索とアドバンスド検索の2種類があります。前者はキーワードを入力して検索するだけのもの、後者はコンテンツの型や属性値を指定して検索することができるものです。
 ここで一つ気になるのは、簡易検索の場合、コンテンツのどの情報を対象に検索が行われるのかということです。
 以下では、簡易検索の検索対象が何なのか、検索対象を増やす(または減らす)場合はどうすればよいのか、ということについて説明します(説明には、現時点での最新版であるAlfresco 4.2.cを利用します)

簡易検索とアドバンスド検索


 まずは簡易検索とアドバンスド検索の違いを確認してみましょう。以下に簡易検索とアドバンスド検索の検索画面のスナップショットを並べてみました。
 違いは一目瞭然で、簡易検索の場合はキーワードを入力するだけですが、アドバンスド検索はコンテンツタイプの指定や属性値ごとの検索条件指定ができます。アドバンスド検索には、簡易検索BOXの左にある検索アイコンからアクセスすることができます。





簡易検索の検索対象


 では、簡易検索の検索対象を調べてみましょう。簡易検索の設定は以下のファイルで行われており、default-query-template内に列挙されている内容が簡易検索の検索対象になります。デフォルトでは名前やタイトル、説明、ファイル全文検索(TEXTと書かれているもの)、タグ(TAGと書かれているもの)などが対象になっています。

<alf_dir>/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/templates/webscripts/org/alfresco/slingshot/search/search.get.config.xml
<search>
   <default-query-template>%(cm:name cm:title cm:description ia:whatEvent ia:descriptionEvent lnk:title lnk:description TEXT TAG cm:creator cm:modifier)</default-query-template>
</search>

 例えば、作成者や変更者についても簡易検索の検索対象にしたい場合は、上記の設定にcm:creatorやcm:modifierなどを追加します。また、独自のカスタムモデルを定義している場合は、そこで定義した属性を追加することもあるでしょう。
 設定変更はAlfrescoを再起動すると反映されますので、実際に検索対象を追加して動作を確認してみてください。

No comments: