John: I realize this is test code, but is it really measuring something meaningful? If you really need to open/modify/close for each document, then I've got to assume that the rate they're coming in is slow enough that the time it takes for this operation is not very important.
And if they *are* coming in quickly, then you could hold open the modifier longer and amortize the time it takes to open etc. over indexing multiple documents. I realize that's "near real time" and not real-time, but.... Otis: What are the rules for reading an index that's being modified? Here's the sequence that I'm unclear about. open reader0 open writer add document 1 ***at this point, am I right that document1 is not visible to reader0? close reader0 open reader1 ***Now, is document 1 visible to reader1? Even though the writer is still open? Where I'm going with this is wondering whether John needs to close/open the writer except very rarely but still be able to pick up modifications from a newly opened reader. Which, of course, leads to the question where his performance needs to be. It may be real-time, but how close is "close enough" to real-time? FWIW Erick Thanks Erick