UTF-8での全文検索メモ(2)
前回の続きです。
Tsearch2 を使ったら、あっさりと Learning Path Finder でシラバスの全文検索ができるようになりました。
http://bavarois.db.tokushima-u.ac.jp/~miyoshi/lpf/ (←β版)
これを本運用サーバの LPF でも使えるようにしようと思い、どこに全文検索用 DB を置こうかと相談したところ、Mac OS X Server 上がいいんじゃない?ってことになりました。
本運用でも FreeBSD だろうという目論見が外れたため、Mac OS X での PostgreSQL + Tsearch2 + MeCab 環境の構築をすることに…。
その Mac OS X Server には fink で既にポスグレが入ってて、Tsearch2 も動いてるっぽい。ってことは、あとは MeCab と pgmecab を入れれば良いということです。
普段 fink を使っていないので、案の定、少しハマってしまったのでメモを残しておきます。
環境
・Mac OS X Server 10.4 (Xserve)
・PostgreSQL 7.4.8 インストール済み (Tsearch2 も動いてる)
方針
・できるだけ fink から
・UTF-8 が使えるように
1. 形態素解析エンジン MeCab (和布蕪) をインストール
(Fink のヘルプページを参考に unstable なパッケージもインストールできるようにしておく。)
$ sudo fink install mecab
$ sudo vi /sw/fink/10.4-transitional/unstable/main/finkinfo/text/mecab-ipadic.info
ConfigureParams: の行を書き換える
ConfigureParams: --prefix=%p --libexecdir=%p/lib --with-dicdir=%p/lib/mecab/dic/ipadic --with-mecab-config=%p/bin/mecab-config --with-charset=utf8
$ sudo fink install mecab-ipadic
2. mecab が動くかテストしてみる
(辞書ファイルの場所がおかしい場合は /sw/etc/mecabrc の dicdir を書き換える)
3. pgmecab をコンパイルするのに postgresql のソースが必要なので make しておく
$ cd /tmp
$ tar jxf /sw/src/postgresql-7.4.8.tar.bz2
$ cd postgresql-7.4.8
$ ./configure --prefix=/sw --docdir=/sw/share/doc --mandir=/sw/share/man --enable-multibyte --enable-recode --with-CXX --without-perl --without-python --without-openssl --with-libraries=/sw/lib --with-includes=/sw/include --without-tcl --without-tk --without-java --enable-odbc --with-pam --with-rendezvous --enable-syslog --with-krb5=/usr
(/sw/fink/10.4-transitional/stable/main/finkinfo/database/postgresql74-unified.info を参考に)
$ make
4. pgmecab をインストール
(pgmecab-1.1を展開しておく)
$ cd ~/Desktop/pgmecab-1.1
$ vi Makefile
次の2行を書き換える
MECAB_CONFIG_PATH = /sw/bin/mecab-config
top_builddir = /tmp/postgresql-7.4.8
$ sudo make install
5. /sw/.../postgresql-7.4 等に入って欲しかったけど、/sw/.../postgresql に入ってしまったので、手作業で移動…orz。
$ cd /sw/share/postgresql/contrib
$ sudo mv pgmecab.sql ../../postgresql-7.4/contrib/
$ cd /sw/lib/postgresql
$ sudo mv pgmecab.so /sw/lib/postgresql-7.4/
$ cd /sw/share/doc/postgresql74-unified/contrib
$ sudo mv ../../postgresql/contrib/README.pgmecab .
(不要になったディレクトリを削除)
$ cd /sw/share
$ sudo rm -r postgresql
$ cd /sw/lib
$ sudo rm -r postgresql
$ cd /sw/share/doc
$ sudo rm -r postgresql





Recent Comments