CentOS 5.0 へインストール

参考にしたサイト:http://hamapin.com/weblog/2007/03/ludia.html 参考になりました。
CentOS5.0を入手したので、Ludiaを入れてみた。

環境:

VirtualBox on CentOS 5.0
PostgreSQL 8.1.4
Ludia      1.0.0
senna      1.0.4
MeCab      0.9.5


1. VirtualBox上にCentOS5.0をインストールする。
Ludiaインストールに、gcc, c++(g++)が必要になる。
ソースコードコンパイルしてインストールするので


2. PostgreSQLをインストールする。
postgresql-devel-8.1.4-1.1 が重要!
pg_configが追加されます。 Ludiaコンパイル時に必要


重要そうなrpm一覧:

gcc-4.1.1-52.el5
gcc-c++-4.1.1-52.el5
libgcc-4.1.1-52.el5
libstdc++-devel-4.1.1-52.el5
libstdc++-4.1.1-52.el5
postgresql-8.1.4-1.1
postgresql-server-8.1.4-1.1
postgresql-libs-8.1.4-1.1
postgresql-python-8.1.4-1.1
postgresql-contrib-8.1.4-1.1
postgresql-devel-8.1.4-1.1

3. データベースの初期化をしておく


4. Ludiaをダウンロードするとインストールマニュアル(日本語)
があるので、それを見ながら作業する。

4-1. MeCabのインストール

$ tar xvf mecab-0.95.tar.gz
$ ./configure
$ make
# make install

4-2. MeCab辞書のインストール

$ tar xvf mecab-ipadic-2.7.0-20060707.tar.gz
$ ./configure --with-charset=utf8
$ make
# make install

4-3. Sennaのインストール

$ ./configure
$ make
# make install

# mkdir /var/senna
# echo "DEFAULT_ENCODING utf8" > /var/senna/senna.conf
# mkdir /var/senna/log
# chown postgres:postgres /var/senna/log

4-4. Ludiaのインストール

$ tar xvf ludia-1.0.0.tar.gz
$ ./configure
$ make
# make install

4-5. PostgreSQLへLudiaの設定を追加する
postgresql.conf へ追記する

custom_variable_classes = 'ludia'
ludia.max_n_sort_result = 10000
ludia.enable_seqscan = on
ludia.sen_index_flags = 31
ludia.max_n_index_cache = 16

4-6. テスト用DBの作成

$ pg_ctl start
$ createuser test-man
$ createdb django-db
$ psql -f /usr/share/pgsql/pgsenna2.sql django-db
$ psql -U test-man django-db

4-7. テスト実行

create table test2 ( a text, b varchar(128));
INSERT INTO test2 VALUES ('本日本を読みました', 'スパン');
INSERT INTO test2 VALUES ('日本誕生', 'スパム');
INSERT INTO test2 VALUES ('誕生は明日です。', 'パム');
CREATE INDEX index2 ON test2 USING fulltext(a);

django-db=# select * from test2 where a @@ '本';
         a          |   b
--------------------+--------
 本日本を読みました | スパン
(1 row)

django-db=# select * from test2 where a like '%本%';
         a          |   b
--------------------+--------
 本日本を読みました | スパン
 日本誕生           | スパム
(2 rows)

"本"で、検索したときに1件しかでないです。
すばらしい。
使い方をろくに調べてないので、検索方法が違うかもしれませんが・・・