diff options
author | francis <francis> | 2008-09-04 14:56:56 +0000 |
---|---|---|
committer | francis <francis> | 2008-09-04 14:56:56 +0000 |
commit | 6799f51d5322a711410b0026e8a7825d7d2d200c (patch) | |
tree | c56758f4b3dc3d416933caeb672c2c375e49f969 | |
parent | a4da92bceff004870c69b1d899bfd967e0c11e6c (diff) |
It helps to commit to both source control systems when you want it to actually be deployed :)
-rw-r--r-- | vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb b/vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb index eadcd2ab6..e74afdf1e 100644 --- a/vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb +++ b/vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb @@ -134,7 +134,7 @@ module ActsAsXapian raise "Z is reserved for stemming terms" if term[1] == "Z" raise "Already have code '" + term[1] + "' in another model but with different prefix '" + @@terms_by_capital[term[1]] + "'" if @@terms_by_capital.include?(term[1]) && @@terms_by_capital[term[1]] != term[2] @@terms_by_capital[term[1]] = term[2] - @@query_parser.add_boolean_prefix(term[2], term[1]) + @@query_parser.add_prefix(term[2], term[1]) end end if options[:values] @@ -482,14 +482,22 @@ module ActsAsXapian # process is aborted and old database carries on being used. Perhaps do in # transaction and commit after rename below? Not sure if thenlocking is then bad # for live website running at same time. + ActsAsXapianJob.destroy_all + batch_size = 1000 for model_class in model_classes - models = model_class.find(:all) - for model in models + model_class.transaction do + 0.step(model_class.count, batch_size) do |i| + STDOUT.puts("ActsAsXapian: New batch. From #{i} to #{i + batch_size}") if verbose + models = model_class.find(:all, :limit => batch_size, :offset => i) + for model in models STDOUT.puts("ActsAsXapian.rebuild_index #{model_class} #{model.id}") if verbose model.xapian_index + end end + end end + ActsAsXapian.writable_db.flush # Rename into place |