Kouhei Sutou
kou****@clear*****
2015年 2月 9日 (月) 15:36:49 JST
須藤です。 今日は年に一度の肉の日ですね! PostgreSQLからGroongaを使うための拡張機能、 PGroonga(ぴーじーるんが) 0.3.0をリリースしました! http://groonga.org/ja/blog/2015/02/09/pgroonga-0.3.0.html 全文検索まわりでのめぼしい変更点は次の通りです。 * トークナイザーを変更できるようにした。 * TokenMecabを指定すればMeCabを使った形態素解析ベースの トークナイザーを使える。現在、最新のPostgreSQLで形態素 解析ベースのトークナイザーを使えるのはPGroongaだけ。 * GroongaがLZ4をサポート付きでビルドされていれば 検索対象のテキストデータをLZ4で圧縮するようにした。 * このデータは内部で使うだけで検索時には参照しないものな ので、できるだけストレージを使わないようにしたかった。 他にも、PostgreSQLが提供するB-treeインデックスのように、次の 操作を高速に実行するインデックスとしても使えるようになりまし た。 * 範囲検索 * ORDER BY 次のようにUSING pgroongaをつけてCREATE INDEXするだけで、↑用 のインデックスを作れます。 CREATE TABLE ids ( id integer ); CREATE INDEX grnindex ON ids USING pgroonga (id); これで SELECT id FROM ids WHERE id >= 10 ORDER BY id ASC LIMIT 5; のようなクエリーがインデックスを使って高速に実現できます。 実現できるはずです。が、大量のデータを使ったベンチマークはとっ ていないので、興味のある方はぜひベンチマークをとってみてブロ グなどに結果を公開してもらえるとうれしいです! -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> Groongaベースの全文検索システムを総合サポート: http://groonga.org/ja/support/ パッチ採用 - プログラミングが楽しい人向けの採用プロセス: http://www.clear-code.com/recruitment/ コードリーダー育成支援 - 自然とリーダブルコードを書くチームへ: http://www.clear-code.com/services/code-reader/