Ning Li wrote on 01/15/2007 06:29 PM: > On 1/14/07, Michael McCandless <[EMAIL PROTECTED]> wrote: >> * The "support deleteDocuments in IndexWriter" (LUCENE-565) feature >> could have a more efficient implementation (just like Solr) when >> autoCommit is false, because deletes don't need to be flushed >> until commit() is called. Whereas, now, they must be aggressively >> flushed on each checkpoint. > > If a reader can only open snapshots both for search and for > modification, I think another change is needed besides the ones > listed: assume the latest snapshot is segments_5 and the latest > checkpoint is segmentsx_7 with 2 new segments, then a reader opens > snapshot segments_5, performs a few deletes and writes a new > checkpoint segmentsx_8. The summary file segmentsx_8 should include > the 2 new segments which are in segmentsx_7 but not in segments_5. > Such segments to include are easily identifiable only if they are not > merged with segments in the latest snapshot... All these won't be > necessary if a reader always opens the latest checkpoint for > modification, which will also support deletion of non-committed > documents. This problem seems worse. I don't see how a reader and a writer can independently compute and write checkpoints. The adds in the writer don't just create new segments, they replace existing ones through merging. And the merging changes doc-ids by expunging deletes. It seems that all deletes must be based on the most recent checkpoint, or merging of checkpoints to create the next snapshot will be considerably more complex.
Chuck --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]