Hello,

 

I am currently working on a server app that will require the ability to
make index additions/deletions at any time.  I want to cache/reuse index
searchers and readers.  I know that once an index has changed only newly
opened readers will see the changes.  Creating a new reader to see the
changes and caching it will be no problem.  My  problem is that since
this is a multithreaded app other threads may be using the old readers
making it difficult to know when to close them.  I assume that a reader
must be closed to free the associated resources.  I was thinking about
using some kind of reference counted reader that would keep track of its
references and only truly close when there were no references.

 

Am I making this too difficult?

 

Is there a better way?

 

I assume others have had to do this using Lucene, do you have any
recommendations?

 

Regards,

 

Michael

Reply via email to