An old issue (http://issues.apache.org/jira/browse/LUCENE-325 new method expungeDeleted() added to IndexWriter) requested a similar functionality as described in the latter half of your email.
The patch for that issue breaks the invariants of the new merge policy. An algorithm similar to that of addIndexesNoOptimize() (http://issues.apache.org/jira/browse/LUCENE-528 Optimization for IndexWriter.addIndexes()) would solve the problem. Ning On 12/5/06, Ning Li <[EMAIL PROTECTED]> wrote:
> I'd like to open up the API to mergeSegments() in IndexWriter and am > wondering if there are potential problems with this. I'm worried that opening up mergeSegments() could easily break the invariants currently guaranteed by the new merge policy(http://issues.apache.org/jira/browse/LUCENE-672). The two invariants say that if M does not change and segment doc count is not reaching maxMergeDocs: B for maxBufferedDocs, f(n) defined as ceil(log_M(ceil(n/B))) 1: If i (left*) and i+1 (right*) are two consecutive segments of doc counts x and y, then f(x) >= f(y). 2: The number of committed segments on the same level (f(n)) <= M. Ning
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]