acts_as_searchable を試す(1)

RubricksではCMSの上に乗っかるサービスをRailsコンポーネントの形で提供する。そこで各コンポーネントを一元的に検索する窓口として検索機能を提供するべく試行錯誤中なのだが、気になっていたのがacts_as_searchableだ。これは全文検索エンジンであるHyperEstraierとActiveRecordが連携してDBに格納したデータを全文検索できるようにしちゃおうというプラグインのようだ。


まずは全文検索エンジンであるHyperEstraierをインストールする必要がある。Namazuと違ってレンタルサーバ等に導入済の可能性は極めて低いので、また敷居が上がってしまいそうだ。個人的にはHyperEstraierはOSS全文検索エンジンにおいてNamazuに代わるデファクトになると思っているので、今からオプションとしてサポートしておくのも良いことだと無理やり納得して先に進む。

HyperEstraierの動作には libiconv・qdbm・mecabが必要で、Rubricksが想定しているCentOS4系ではどれもRPMが提供されていないため、我流のRPMを作成してみた。例によって無保証・非推奨で配布してみる。

vi /etc/yum.repos.d/rubricks.repo
=======================================================================
[rubricks]
name=CentOS-$releasever - rubricks
baseurl=http://repos.rubricks.org/rpm/
enabled=1
gpgcheck=0
=======================================================================

yum install libiconv mecab mecab-ipadic qdbm hyperestraier
chkconfig --level 2345 estmaster on
service estmaster start

これでインストールとEstmasterの起動が完了するはず。基本的にはほぼデフォルトでインストールしているだけだけど、気になる人はsrpmも同じ場所で配布しているので、specファイルを見てください。

動作確認は、HyperEstraierのP2Pガイドチュートリアルを見て下さい。