Sennaをインストール
Sennaのインストール
(参考)http://www24.atwiki.jp/redcloud/pages/20.html
mysqlユーザの作成
# groupadd mysql # useradd -g mysql -s /sbin/nologin mysql
ncurses-develパッケージのインストール
# yum -y install ncurses-devel
mecab本体
$ wget http://downloads.sourceforge.net/project/mecab/mecab/0.98/mecab-0.98.tar.gz?use_mirror=jaist $ tar zxvf mecab-0.98.tar.gz $ cd mecab-0.98 $ ./configure --prefix=/usr/local --with-charset=utf8 $ make $ sudo make install
mecab辞書
$ wget http://downloads.sourceforge.net/project/mecab/mecab-ipadic/2.7.0-20070801/mecab-ipadic-2.7.0-20070801.tar.gz?use_mirror=jaist $ tar zxvf mecab-ipadic-2.7.0-20070801.tar.gz $ cd mecab-ipadic-2.7.0-20070801 $ ./configure --prefix=/usr/local --with-mecab-config=/usr/local/bin/mecab-config --with-charset=utf8 $ make $ sudo make install
mecabがちゃんと入ったか確認
mecab -v
結果)mecab of 0.95
例えば
mecab
と打つと入力画面に遷移するので、
「すもももももももものうち」
と入力してエンターで、結果を返してくれる。
(参考)http://d.hatena.ne.jp/kamipo/20100821/1282376251
※ServersManでは起きずに、さくらVPSで発生
libmecab.so.1が無いエラーが起きた場合。。
error while loading shared libraries: libmecab.so.1: cannot open shared object file: No such file or directory
libmecab.so.1は /usr/local/lib/libmecab.so.1にあるが、標準設定では/usr/loca/lib/配下のライブラリが読まれないような設定になっている。
ので、/etc/ld.so.confを編集して、
ldconfigを実行する。
vi /etc/ld.so.conf
下記を追記
/usr/local/lib
ldconfig
sennaインストール
$ wget 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 --prefix=/usr/local --with-mecab-config=/usr/local/bin/mecab-config $ make $ sudo make install
mysql+tritonn本体インストール
$ wget http://osdn.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 --prefix=/usr/local --with-charset=utf8 --with-extra-charsets=all --with-mysqld-user=mysql --with-readline --with-innodb --enable-local-infile --with-senna=/usr/local --with-mecab=/usr/local $ make $ sudo make install
初期設定
$ cd /usr/local/bin/ $ sudo ./mysql_install_db --user=mysql $ sudo cp -p /usr/local/share/mysql/my-small.cnf /usr/local/etc/my.cnf $ cd /usr/local $ sudo chown -R mysql.mysql var
起動・停止確認
$ cd /usr/local/bin/ $ sudo ./mysqld_safe --user=mysql & $ sudo ./mysqladmin -u root shutdown
起動スクリプト作成、自動起動設定(サービス化)
$ cd <tar展開先> $ sudo cp -p support-files/mysql.server /etc/init.d/mysqld # cd /etc/init.d # chown root.root mysqld # chmod 755 mysqld # chkconfig --add mysqld # service mysqld start # service mysqld stop
sennaの後継groongaのインストール方法も一応(試してないです)
groonga 1.0.0をインストール
cd /usr/local/src wget http://groonga.org/files/groonga/groonga-1.0.0.tar.gz tar xvzf groonga-1.0.0.tar.gz cd groonga-1.0.0 ./configure --prefix=/usr && make && make install
groonga-0.7.6のインストール。
sudo chown kamipo /usr/local/{,*} sudo aptitude install build-essential pkg-config sudo aptitude install mecab libmecab-dev mecab-ipadic-utf8 cd /usr/local/src wget http://groonga.org/files/groonga/groonga-0.7.6.tar.gz tar zxvf groonga-0.7.6.tar.gz cd groonga-0.7.6 ./configure && make && make install
/usr/localにパスを通す
PATH=$PATH:/usr/lib
export PATH
例えばこういうテーブルだったとすると
+---------------------+----------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------------------+----------+------+-----+---------+----------------+ | clip_bookmark_code | int(11) | NO | PRI | NULL | auto_increment | | site_url | longtext | YES | | NULL | | | bookmark_count | int(11) | YES | | NULL | | | bookmark_genre_code | int(11) | YES | MUL | NULL | | | site_name | longtext | YES | | NULL | | | site_comment | longtext | YES | | NULL | | | tag | longtext | YES | | NULL | | | data_acquire_date | datetime | YES | MUL | NULL | | +---------------------+----------+------+-----+---------+----------------+
サイト名と、サイトコンテンツで全文検索を行いたいとすると、
下記のようにindexを張る。
create fulltext index clip_bookmark_name_comment on clip_bookmark (site_name,site_comment);
で、検索します。
select * from clip_bookmark where match(site_name,site_comment) against ('ファッション');
あと、show senna statusで状態を調べる。