# HG changeset patch # User Paul Boddie # Date 1294768401 -3600 # Node ID 3ddb93334c95b00c4e5d730782a45184a4bd2f99 # Parent 9867931a9269dccfa1a131cd00ea15395eb8189d Permit fields for documents to be spread across partitions, potentially because documents have been added more than once to an index. diff -r 9867931a9269 -r 3ddb93334c95 iixr/merging.py --- a/iixr/merging.py Fri Dec 17 00:06:13 2010 +0100 +++ b/iixr/merging.py Tue Jan 11 18:53:21 2011 +0100 @@ -71,7 +71,19 @@ Merge fields from the readers, sending them to the writer. """ + last_docnum = None + current_fields = [] + for docnum, fields in itermerge(self.readers): - self.writer.write_fields(docnum, fields) + if docnum == last_docnum: + current_fields += fields + else: + if current_fields: + self.writer.write_fields(last_docnum, current_fields) + last_docnum = docnum + current_fields = fields + else: + if current_fields: + self.writer.write_fields(last_docnum, current_fields) # vim: tabstop=4 expandtab shiftwidth=4