1.1 --- a/iixr.py Fri Sep 04 00:07:03 2009 +0200
1.2 +++ b/iixr.py Sat Sep 05 18:10:50 2009 +0200
1.3 @@ -642,8 +642,8 @@
1.4 while 1:
1.5 found_docnum, found_positions = self.iterator.next()
1.6
1.7 - # Return the desired document positions or those immediately
1.8 - # after.
1.9 + # Return the desired document positions or None (retaining the
1.10 + # positions for the document immediately after).
1.11
1.12 if docnum == found_docnum:
1.13 return found_positions
1.14 @@ -1620,9 +1620,7 @@
1.15
1.16 # Ensure that only one partition exists.
1.17
1.18 - self.merge_terms()
1.19 - self.merge_fields()
1.20 -
1.21 + self.merge()
1.22 return self._get_reader(partition)
1.23
1.24 def _get_reader(self, partition):
1.25 @@ -1635,6 +1633,13 @@
1.26 self.reader = IndexReader(self.pathname)
1.27 return self.reader
1.28
1.29 + def merge(self):
1.30 +
1.31 + "Merge/optimise index partitions."
1.32 +
1.33 + self.merge_terms()
1.34 + self.merge_fields()
1.35 +
1.36 def merge_terms(self, interval=TERM_INTERVAL, doc_interval=DOCUMENT_INTERVAL):
1.37
1.38 """