Thanks for your reply Shawn and Jack. I wanted to increase the segment size to 15GB, so that there will be lesser segments to search for during the query, which should potentially improve the query speed.
What if I set the segment size to 20GB? Will all the existing 10GB segments be merge to 20GB, as now merging two 10GB segments will results in a 20GB segment? Regards, Edwin On 31 January 2016 at 12:16, Jack Krupansky <jack.krupan...@gmail.com> wrote: > From the Lucene MergePolicy Javadoc: > > "Whenever the segments in an index have been altered by IndexWriter > < > https://lucene.apache.org/core/5_4_0/core/org/apache/lucene/index/IndexWriter.html > >, > either the addition of a newly flushed segment, addition of many segments > from addIndexes* calls, or a previous merge that may now need to cascade, > IndexWriter > < > https://lucene.apache.org/core/5_4_0/core/org/apache/lucene/index/IndexWriter.html > > > invokes findMerges(org.apache.lucene.index.MergeTrigger, > org.apache.lucene.index.SegmentInfos, org.apache.lucene.index.IndexWriter) > < > https://lucene.apache.org/core/5_4_0/core/org/apache/lucene/index/MergePolicy.html#findMerges(org.apache.lucene.index.MergeTrigger > , > org.apache.lucene.index.SegmentInfos, > org.apache.lucene.index.IndexWriter)> to > give the MergePolicy a chance to pick merges that are now required. This > method returns a MergePolicy.MergeSpecification > < > https://lucene.apache.org/core/5_4_0/core/org/apache/lucene/index/MergePolicy.MergeSpecification.html > > > instance > describing the set of merges that should be done, or null if no merges are > necessary. When IndexWriter.forceMerge is called, it calls > findForcedMerges(SegmentInfos,int,Map, > IndexWriter) > < > https://lucene.apache.org/core/5_4_0/core/org/apache/lucene/index/MergePolicy.html#findForcedMerges(org.apache.lucene.index.SegmentInfos > , > int, java.util.Map, org.apache.lucene.index.IndexWriter)> and the > MergePolicy should then return the necessary merges." > > See: > > https://lucene.apache.org/core/5_4_0/core/org/apache/lucene/index/MergePolicy.html > > IOW, when the next commit occurs that closes and flushes the currently open > segment. > > Nothing will happen to any existing 10GB segments, now or ever in the > future since merging two 10GB segments would not be possible with a limit > of only 15GB. > > Maybe you could clue us in as to what effect you are trying to achieve. I > mean, why should any app care whether segments are 10GB or 15GB? > > > -- Jack Krupansky > > On Sat, Jan 30, 2016 at 6:28 PM, Shawn Heisey <apa...@elyograg.org> wrote: > > > On 1/30/2016 7:31 AM, Zheng Lin Edwin Yeo wrote: > > > I would like to find out, when I increase the maxMergedSegmentMB from > > 10240 > > > (10GB) to 15360 (15GB), will all the 10GB segments that were created > > > previously be automatically merge to 15GB? > > > > Not necessarily. It will make those 10GB+ segments eligible for further > > merging, whereas they would have been ineligible before the change. > > > > This might mean that one or more of those large segments will be merged > > soon after the change and restart/reload, but I do not know when it > > might happen. It would probably wait until at least one new segment was > > created, at which time the merge policy would be consulted. > > > > Thanks, > > Shawn > > > > >