c/fe

http://d.hatena.ne.jp/uzulla から移行しました。

Postgresql8.2の全文検索機能

http://itpro.nikkeibp.co.jp/article/COLUMN/20061122/254458/?ST=oss&P=1

 テストに使ったデータは,PostgreSQLの英語,日本語メーリングリストを取り混ぜた約8万8千件のデータで,ファイルシステム上では630Mバイトの容量がある。

 テストに使ったのは Opeteron 2.3GHzのCPUを2個搭載したマシンで,実装メモリは8GB,OSはMiracle Linux 4.0を使用した。

 気になるデータ登録に要する時間は36分30秒だった。試しにnamzuで同じデータのインデックスを作成したところ,1時間9分37秒もかかった。

まずは「PostgreSQL」を含む文書の検索である。

test=# SELECT count(*) FROM gin WHERE query('PostgreSQL') @@ wakachi;
count

            • -

24600
(1 row)

Time: 16.207 ms

 このように,16ミリ秒ほどで結果が得られた。namazuでは24ミリ秒かかった。

結構速いな…50万件や100万件ではどれくらいのパフォーマンスになるのだろうか、一度ベンチマークやってみようかなあ。

DB統合型の全文検索エンジンは、多種多様な検索式が自由度高く組めるのでとても良い。インデクス作業自体も高速に行えるし。
速度的に単体の全文検索エンジンと張り合えるならば、良い感じだなあ。


ただ、分かち書きをしたデータが登録時には必要になるなど、前処理をしなければならない(インデクサを作らないといけない)のはちょっと面倒くさいかな。