[ruby]
[senna]
[mecab]
[全文検索]
Sennaをインストールしてみた。
インストールの流れ
- MeCab 0.81以降のインストール
- Sennaのインストール
- ruby バインディングのインストール
MeCabのインストール
http://mecab.sourceforge.net/#downloadここから、mecab本体のソースコードと、辞書をダウンロード。
デフォルトでEUCが使われるので、configureの際に以下のようにオプションを設定する。
./configure --with-charset=utf8
辞書のインストールの際も同様。
Sennaのインストール
必要ないようだが、mecabを使うように明示しておく。
wget http://dev.razil.jp/archive/senna/senna-latest-svn.tar.gz
tar xvfz senna-latest-svn.tar.gz
cd senna
./configure --with-mecab
make
sudo make install
さらにEUC以外の文字コードを使う時は、/var/senna/senna.conf に以下のように記述。
ここではUTF-8。
DEFAULT_ENCODING utf8
ruby バインディングのインストール
cd bindings/ruby/
ruby extconf.rb
make
sudo make install
で、テストしてみる。
./test/all_test.rbx
TypeError: wrong argument type Fixnum (expected Data)
/usr/local/lib/ruby/site_ruby/1.8/senna.rb:278:in `sen_sym_create'
/usr/local/lib/ruby/site_ruby/1.8/senna.rb:278:in `create'
./advanced-api-test/test_index_advanced.rb:15:in `test_create_with_keys'
???(;´Д`)
訳がわからないのでMLで質問してみると、
SWIGをインストールされていますでしょうか?
もしされているのであれば、
パッケージを再度開封しなおした上で、
bindings/ruby/extconf.rbの
system "swig -ruby senna_api.i"
の行を削除してみてください。
との回答を頂き、試してみたところ無事実行できました。
いまいちswigの事を理解していないので、原因がわかりません・・・スクリプト言語からC/C++のコードを利用するためのインタフェースとなるコードを生成する開発ツール
まあ今回はスルーで。
テストに多少Failureがありましたがこれもとりあえず今はスルーの方向で(´▽、`)
mysql にパッチをあてれば、Sennaで全文検索できるようになるみたい。
時間ができたらそれも試してみよう。
コメント (1)
DEFAULT_ENCODINGがeucでないと、テストスイートが正常に動作しないのです…
投稿者: グニャラくん | 2007年02月11日 02:38
日時: 2007年02月11日 02:38