Again, if the
indexerThreads are bombarding the writer continuously, then the moment, when
no indexer is accessing the writer, may never come. Thus, I invested some of
my time, and wrote my own code, to control the sleeping of indexerThreads.
I don't know how much of a concern this is. All you can really do is juggle the capabilities of Lucene, and Lucene was not designed to allow continuous writes to the database that are instantly available. That is one of the compromises of doing full text search over db. If you reopen the index in the face of constant write bombardment, it will already need to be reopened again immediately, and so on. You still need to consider the cost of reopening huge indexes...its not going to be fast enough to keep up with this kind of bombardment. I think you have to limit the use case.

I suppose you could refresh the readers occasionally in a long line of Writer get/release bombardment, but Lucene is just not in a position to handle such an interactive index, and I don't think it will be too fruitful trying to force it. If you correctly batch load, this is not that big of a limitation. Updates generally come in two ways...random updates here and there or a batch of updates at once - neither of these cases will cause bombardment.

- Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to