You can indeed merge indexes, but merging still requires a write lock. What I did on a previous project was to add new documents to an in-memory index, then periodically merge this index into the main index on disk. It worked well for me, but your mileage may vary.
On Wed, Dec 16, 2009 at 3:26 AM, Li Bing <lbl...@gmail.com> wrote: > Hi, all, > > I am using Lucene.NET to index data. Meanwhile, more new data is > frequently added to the index. However, if so, the retrieval > performance becomes much lower when new data is being added and > indexed because the indexing (writing) thread must synchronize the > retrieving (reading) threads. > > I use .NET locks to manage the threads myself. Is it necessary? Or > Lucene can handle the synchronize itself? > > I would like to know if it is possible for me to append one portion of > Lucene indexes to another one. If so, it is easy to replicate Lucene > indexes and the writing and reading do not affect each other. Or any > other solutions in this case? > > Thanks so much! > LB >