Senna の登場以来、これを使ってみたい、と考え、幾度とインストールを試みた事があります.
Ludia のインストールは成功したことがあるものの、その後、MySQL でのデータベース運用を始めたので、不要になってしまいました.
そんなわけで、Tritonn なのです.
(Tritonn とは、MySQL にて Senna を使って日本語全文検索を実現するためのツールです.)
Tritonn を FreeBSD6.4 にインストールしてみました.
はかせの環境は firewall の中なのですよ.
そのため firewall を越えて fetch 出来るような設定が必要です.% vi .cshrc
↓これ↓を追加します.setenv HTTP_PROXY http://[firewallのuser名]:[firewallのパス]@[firewallのホスト名:firewallのポート]
mysqlデーモンを動かすユーザを作成します.# pw groupadd mysql
# pw useradd mysql -g mysql -d /usr/local/ -s /usr/sbin/nologin
mecabを使って形態素解析を行うのが良いのかも知れませんが、サクッと省略しました.この方法だとn-gram検索しかできません.% fetch http://osdn.dl.sourceforge.jp/senna/33763/senna-1.1.4.tar.gz
% tar zxvf senna-1.1.4.tar.gz
% cd senna-1.1.4
% ./configure --without-mecab
% make
# make install
以前に形態素解析 (namazu) を使って全文検索ツールを作った事があったのですが、思ったように検索出来ないなどと不評でした.
ゴミが出るよりもヒット数が多い方がお好き?
インストールは最初から簡単にできたのですが、その後の過程でけっこう手間取ってしまった...(^Q^;)% fetch http://iij.dl.sourceforge.jp/tritonn/36449/tritonn-1.0.12-mysql-5.0.67.tar.gz
% tar zxvf tritonn-1.0.12-mysql-5.0.67.tar.gz
% cd tritonn-1.0.12-mysql-5.0.67
% ./configure --with-senna --with-charset=utf8 --with-extra-charsets=all --with-mysqld-user=mysql
% make
# make install
rc.conf の設定.# vi /etc/rc.conf
rc.conf を開いたら↓この2行↓をファイル末尾に追加.mysql_enable="YES"
mysql_dbdir="/usr/home/mysql/mysql"
用意された起動スクリプトを規定のディレクトリにコピー.# cp /usr/local/share/mysql/mysql.server /usr/local/etc/rc.d/mysql-server.sh
my.cnf の設定.# cp /usr/local/share/mysql/my-medium.cnf /etc/my.cnf
# vi /etc/my.cnf
my.cnf を開いたら [mysqld] のセクションの最初に↓これ↓を追加.datadir = /usr/home/mysql/mysql
パーミッション等の設定.# mkdir /usr/home/mysql
# mkdir /usr/home/mysql/mysql
# chown -R mysql /usr/home/mysql
データベースの作成# /usr/local/bin/mysql_install_db --user=mysql
これで再起動すると Senna パッチのあたった MySQL が動くはずです.