Hi there, I'm looking for pointers, suggestions on how to approach this in Lucene 4.5.
Say I am creating an index using a sequence of addDocument() calls and end up with segments that each contain documents in a specified ordering. It is guaranteed that there won't be updates/deletes/reads etc happening on the index -- this is an offline index building task for a read-only index. I create the index in the above mentioned fashion using LogByteSizeMergePolicy and finally do a forceMerge(1) to get a single segment in the ordering I want. Now my requirement is that I need to be able to merge this single segment with another such segment (say from yesterday's index) and guarantee some ordering -- say I have a comparator which looks at some field values in the 2 given docs and defines the ordering. Index 1 with segment X: (a,1) (b,2) (e,10) Index 2 (say from yesterday) with some segment Y: (c,4) (d,6) Essentially we have 2 ordered segments, and I'm looking to 'merge' them (literally) using the value of some field, without having to re-sort them which would be too time & resource consuming. Output Index, with some segment Z: (a,1) (b,2) (c,4) (d,6) (e,10) Is this already possible? If not, any tips on how I can approach implementing this requirement? Thanks, -- Arvind Kalyan