aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfrancis <francis>2008-09-04 14:56:56 +0000
committerfrancis <francis>2008-09-04 14:56:56 +0000
commit6799f51d5322a711410b0026e8a7825d7d2d200c (patch)
treec56758f4b3dc3d416933caeb672c2c375e49f969
parenta4da92bceff004870c69b1d899bfd967e0c11e6c (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.rb14
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