Kouhei Sutou
kou****@clear*****
2011年 1月 29日 (土) 14:00:07 JST
須藤です。 groonga 1.0.7に対応したgroongaのRubyバインディングrroonga 1.0.9をリリースしました。 http://groonga.rubyforge.org/ rroongaはRubyらしい書き方でgroongaを触ることができることを重 視しています。(もちろん、せっかくのgroongaの速度を落とさな いことも大事にしています。) Groonga::Table#selectでの検索条件指定ブロック内でのクエリ表 現力がアップしています。例えば、groonga本体のselectコマンド のように、インデックス毎に重み付けを変えることができるように なっています。これを使えば、MeCabで分かち書きして作ったイン デックスにマッチしたら高めのスコアを与えて検索結果の上位に現 れるようにし、Bigramでマッチしたらそれより低めのスコアを与え て(検索結果の上位には現れないけど)検索漏れを防ぐ、といった 制御ができるようになります。 使い方はこのメールの最後の変更点の中や、るりまサーチという検 索システムの中にあります。 るりまサーチ: http://github.com/kou/rurema-search インストール: % sudo gem install rroonga irbを使ったrroongaのチュートリアルもあるので、はじめての方は まずこれを試してみてください。 http://groonga.rubyforge.org/rroonga/text/tutorial_ja_rdoc.html 1.0.8からの変更点は以下の通りです。 == 1.0.9: 2011-01-29 === 改良 * Windows上でのgem作成に対応。 [ongaeshiさんがパッチ提供] * Groonga::Schemaでテーブル・カラムを削除した時に作成したディレクトリを 削除するようにした。 * Groonga::Context#create_databaseを追加。 * Groonga::Context#open_databaseを追加。 * Groonga::Column#indexesを追加。 * Groonga::Table#select内でのインデックスカラムにマッチする記法をサポート。 table.select do |record| record.match("query") do |match_record| (match_record.index("Terms.title") * 1000) | (match_record.index("Terms.description") * 100) match_record.content end end * Groonga::Table#select内での前方一致検索に対応。 table.select do |record| record.name.prefix_search("groo") end * Groonga::Table#select内での後方一致検索に対応。 table.select do |record| record.name.suffix_search("nga") end * :default_tokenizerのスキーマダンプに対応。 * :key_normalizeのスキーマダンプに対応。 * Groonga::Table#have_column?が擬似カラムに対応。 * Groonga::Record#have_column?が擬似カラムに対応。 === 変更 * Groonga::OperatoionをGroonga::Operatorに変更。 (しばらくはGroonga::Operationも使えるが、非推奨。) === 修正 * 複数のGroonga::Contextを利用した場合に Groonga::Table#selectでクラッシュする問題を修正。 * 例外発生時にクラッシュする問題を修正。 === 感謝 * ongaeshiさん -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> (03-6231-7270) Mozilla Firefox/Thunderbirdサポート: http://www.clear-code.com/services/mozilla/menu.html 迷惑メール対策: http://www.clear-code.com/software/milter-manager.html テスティングフレームワーク: http://www.clear-code.com/software/cutter.html http://www.clear-code.com/software/uxu.html