[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[sup-devel] [PATCH] xapian: add boolean terms with zero wdf
Xapian's Flint backend stores the document length in every posting, so if the
document length is changed (by adding a label, for example), every posting
entry needs to be rewritten. This basically nullifies the performance
improvement from the Xapian bug 250 fix. We can prevent this by adding these
terms with 0 within-document-frequency so that their addition or removal
doesn't change the document length.
This is the analog to notmuch commit ccf2e0cc.
---
lib/sup/xapian_index.rb | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/lib/sup/xapian_index.rb b/lib/sup/xapian_index.rb
index c81dca4..99d7c0e 100644
--- a/lib/sup/xapian_index.rb
+++ b/lib/sup/xapian_index.rb
@@ -590,7 +590,7 @@ class Xapian::Document
alias old_add_term add_term
def add_term term
if term.length <= Redwood::XapianIndex::MAX_TERM_LENGTH
- old_add_term term
+ old_add_term term, 0
else
warn "dropping excessively long term #{term}"
end
--
1.6.3.3
_______________________________________________
Sup-devel mailing list
Sup-devel@rubyforge.org
http://rubyforge.org/mailman/listinfo/sup-devel