PostgreSQL で日本語全文検索
http://textsearch-ja.projects.postgresql.org/textsearch_ja.html
PostgreSQL 8.3 から全文検索がサポートされた。日本語はデフォルトでは組み込まれていないため textsearch-ja をソースからインストールしてみた。
Debian (squeeze) にて確認した。とりあえず、インストールまでしか試していない。
ビルドに必要な環境
aptitude install postgresql postgresql-server-dev-8.4 aptitude install mecab meab-ipadic-utf8 libmecab-dev build-essential
ビルドとインストール
tar xzf textsearch_ja-9.0.0.tar.gz cd textsearch_ja-9.0.0 make USE_PGXS=1 make USE_PGXS=1 install
DB クラスターを再構築
template0 を UTF-8 にするため、クラスターを再構築する。
pg_dropcluster --stop 8.4 main pg_createcluster -e utf-8 --start 8.4 main
確認用のDB作成
su - postgres createdb textsearch psql -f /usr/share/postgresql/8.4/contrib/textsearch_ja.sql textsearch
動作確認
textsearch=# SELECT to_tsvector('japanese', 'サンマを食べると幸せな気分になります。'); to_tsvector -------------------------------------------------- 'なる':5 'サンマ':1 '幸せ':3 '気分':4 '食べる':2