Hi, There are two possibilities:
(1) Use IndexWriter.addIndexes(IndexReader) and copy the old index to a new one. This will merge everything into one segment. (2) Use IndexUpgrader and override the method that determines if an index segment is outdated. If you only return true for the segment that needs to be merged to itself, and later start the upgrade process, it will exactly do what you want. This is more or less a copypaste of the example in: http://lucene.apache.org/core/4_6_0/core/org/apache/lucene/index/UpgradeIndexMergePolicy.html You just have to (anonymously) subclass UpgradeIndexMergePolicy and return true from "protected boolean shouldUpgradeSegment(SegmentCommitInfo si)" only for the segment to be merged. By default this returns true for segments that are written by older Lucene versions. Uwe ----- Uwe Schindler H.-H.-Meier-Allee 63, D-28213 Bremen http://www.thetaphi.de eMail: u...@thetaphi.de > -----Original Message----- > From: Ravikumar Govindarajan [mailto:ravikumar.govindara...@gmail.com] > Sent: Friday, February 21, 2014 3:24 PM > To: java-user@lucene.apache.org > Subject: Single segment merge in lucene possible? > > Hi, > > Is it possible to merge a single segment all by itself, may be just accounting > for deletes alone? > > This is needed so as to solve certain data-locality issues we face in a custom > implementation of Directory API. > > -- > Ravi --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org