RubyOnRailsでHyperEstraierをインストールする方法です。
1.qdbmをダウンロードしてインストールします。
$ su - ※スーパーユーザーで
$ wget http://qdbm.sourceforge.net/qdbm-1.8.75.tar.gz
$ tar -xvzf qdbm-1.8.75.tar.gz
$ cd qdbm-1.8.75.tar.gz
$ ./configure –enable-zlib
$ make
$ make install
2.HyperEstraierをダウンロードしてインストールします
$ su -
$ wget http://hyperestraier.sourceforge.net/hyperestraier-1.4.10.tar.gz
$ tar -xvzf hyperestraier-1.4.10.tar.gz
$ cd hyperstraier
$ ./configure
$ make
$ make install
3.estmasterサーバを起動します
$ estmaster init /usr/local/share/hyperestraier
$ estmaster start /usr/local/share/hyperestraier &
→サーバをとめるときはestmaster stop /var/lib/hyperestraier
→ユーザの設定をミスったりしてログインできなくなったら、stopしたあとにもう一回initしてstart
4.管理画面でユーザの設定とノードの設定を行います。
1.http://[hyperestraierをインストールしたサーバ]:1978/を開きます
2.administrationをクリックするとid/passを求められるので、defaultのadmin/adminを入力します。
3.Manage Usersでadminのpassをかえます。(Editを押す)※セキュリティ対策
4.defaultのadminではなく他にユーザを作っておくほうが良さそうなので、もう一個ユーザを作ります。
→権限はadminと同様でok。ここではidとpassをhoge/piyoとします。
5.Manage Nodesにて適当なノードを作ります。ここではノード名をnodes_hogeとします。
→左のテキストボックスがnode名、右のテキストボックスが説明文。
後述のdatabase.ymlの設定で使用します。
以上でHyperEstrairerサーバサイドの設定は終了です。
こんどはRail側の設定を行いましょう。
※全文検索プラグイン、acts_as_searchableの使い方についてはぐぐると色々出てくるので、割愛します。
5.gemでacts_as_searchableをインストールします。
$gem install acts_as_searchable
6.RAILS_ROOT/config/database.ymlに以下の項目を追加します。
estraier:
port: 1978
user: hoge
password piyo
node: nodes_hoge
7.enviroment.rbにrequire_gemを書いておきます。
require_gem ‘acts_as_searchable’
8.全文検索用のモデルからHyperEstraierのインデックスを作ります。
アプリケーションルートで./script/console
>> Hoge.reindex!※Hogeモデルがacts_as_searchableを使う全文検索対象モデルであった場合の書き方です。
凡例)def Hoge < ActiveRecod::Base
acts_as_searchable :searchable_fields => [:piyo]
end
以上で、Rails上からHogeモデルを使用しての全文検索が可能となります。
動かない場合は、全文検索用のテーブルがInnoDBになっていないかを確認したり、
Railsアプリケーションを再起動してみたりすると大体動きます。
それでは、よいHyperEstraierライフを。
(ちなみにacts_as_searchable、ぶっちゃけ使いにくいです。重いです。
sennaにすればよかった、と後悔している今日この頃です。)
o.t.a
スペシャルサンクス: ライドオンレイルズ

