[groonga-dev,01138] 特定条件にマッチするレコードの一括削除

Back to archive index

ongaeshi ongae****@gmail*****
2012年 12月 18日 (火) 10:03:02 JST


ongaeshiです。

rroongaで特定の条件にマッチするレコードを削除する時、

def remove_match_path(path)
 result = search(path)          # 内部で Groonga::Table#select を呼んでレコードを抽出

  result.each do |record|       # 検索結果をeachで辿って・・
    @table[record.path].delete  # Groonga::Recored#delete で削除
  end
end

・・という方法をとっていますが、数万オーダー位の
レコードを削除しようとすると時間がかかり困っています。

少し調べてみた所、

groonga 1.2.9リリース
http://groonga.org/ja/blog/2011/12/29/release.html

にて「レコードの一括削除に対応」というトピックを見つけました。

紹介されていた「特定条件にマッチするレコードの一括削除」を
【rroongaから】行うことは可能でしょうか?

※ 他にも高速に削除する方法がありましたらご指摘頂けると幸いです。

-- 
/******************************************
 ongaeshi
 MAIL:   ongae****@gmail*****
 WEB:   http://ongaeshi.me
 Twitter: http://twitter.com/ongaeshi
 ******************************************/



groonga-dev メーリングリストの案内
Back to archive index