Yes, it's best to share one IndexSearcher/IndexReader across all threads... and if you ever find evidence this hurts concurrency then please post back :)
Mike McCandless http://blog.mikemccandless.com On Wed, Jan 11, 2012 at 3:29 PM, Cheng <zhoucheng2...@gmail.com> wrote: > Will do if I see a perf gain. > > The other issue is that in each thread my apps will not only do indexing > but searching. That means I will have to pass through the ram directory > instance, along with the writer instance, to every thread so that the > searcher can be built on. > > Should I create a same reader and a same searcher and pass them through > every thread too? > > > > On Wed, Jan 11, 2012 at 3:21 PM, Michael McCandless < > luc...@mikemccandless.com> wrote: > >> Yes that would work fine.... but you should see a net perf loss by >> doing so (once you include time to flush/sync the RAMDir to an FSDir). >> >> If you see a perf gain then please report back! >> >> Mike McCandless >> >> http://blog.mikemccandless.com >> >> On Wed, Jan 11, 2012 at 3:09 PM, Cheng <zhoucheng2...@gmail.com> wrote: >> > Can I create a RAMDirectory based writer and have it work cross all >> > threads? In the sense, I would like to use RAMDirectory every where and >> > have the RAMDirectory written to FSDirectory in the end. >> > >> > I suppose that should work, right? >> > >> > >> > On Wed, Jan 11, 2012 at 2:31 PM, Michael McCandless < >> > luc...@mikemccandless.com> wrote: >> > >> >> On Wed, Jan 11, 2012 at 1:32 PM, dyzc2010 <zhoucheng2...@gmail.com> >> wrote: >> >> >> >> > Mike, do you mean if I create a FSDirectory based writer in first >> place, >> >> then the writer should be used in every thread rather than create a new >> >> RAMDirectory based writer in that thread? >> >> >> >> Right. >> >> >> >> > What about I do want to use RAMDirectory to speed up the index and >> >> search processes? >> >> >> >> IndexWriter is very efficient in using RAM across multiple threads >> >> now... so this isn't worth it at indexing time. >> >> >> >> At search time... MMapDirectory is a good way to let the OS use >> >> currently free RAM for caching. >> >> >> >> Mike McCandless >> >> >> >> http://blog.mikemccandless.com >> >> >> >> --------------------------------------------------------------------- >> >> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org >> >> For additional commands, e-mail: java-user-h...@lucene.apache.org >> >> >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org >> For additional commands, e-mail: java-user-h...@lucene.apache.org >> >> --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org