Hi, I would not do that. Reopening the NRT reader is not as expensive as committing (which also fsyncs), but the current indexed data has to be written to a new segment on disk (called flush in Lucene world). So reopenening periodically is the better approach (unless you have really seldom accesses like one query per 1 minute). E.g., Elasticsearch reopens, by default, periodically every second.
Uwe ----- Uwe Schindler H.-H.-Meier-Allee 63, D-28213 Bremen http://www.thetaphi.de eMail: u...@thetaphi.de > -----Original Message----- > From: 308181687 [mailto:308181...@qq.com] > Sent: Sunday, May 04, 2014 6:05 AM > To: java-user > Subject: 回复: Never close IndexWriter/Reader? > > Hi, Mike. Instead of periodically reopen NRT reader , I open/close it for > every > search query , will this result in performance issue? > > > Thanks > lubin > > > > > ------------------ 原始邮件 ------------------ > 发件人: "Michael McCandless";<luc...@mikemccandless.com>; > 发送时间: 2014年5月4日(星期天) 凌晨1:43 > 收件人: "Lucene Users"<java-user@lucene.apache.org>; > > 主题: Re: Never close IndexWriter/Reader? > > > > Just leave your IW open forever and periodically reopen your NRT > reader. Be sure you close your old NRT reader after opening a new > one; SearcherManager makes this easy when multiple threads are using > the readers. > > Committing every 200 docs seems quite frequent: commit is very costly, > and it's only needed for recovery (so you know which docs are in the > index if the machine/OS crashes). > > Mike McCandless > > http://blog.mikemccandless.com > > > On Sat, May 3, 2014 at 11:46 AM, Sascha Janz <sascha.j...@gmx.net> wrote: > > Hi, > > > > > > > > We use lucene 4.6, our application receives continuously new documents. > > Mostly emails. We need the update near real time, so we open the > IndexReader > > with Directory.open and IndexWriter. > > > > > > > > Periodically we do a commit, e.g. every 200 documents. > > > > > > > > We used to close the IndexWriter on commit, and then open a new one. I > read > > in documentation this is quite expensive, tests also showed me this. So we > > think about to only commit the IndexWriter and leave it open. So when > should > > we close the IndexWriter? I think about to leave it open and only close it, > > when the server is shutting down. Is this a good idea? Any suggestions or > > comments? Would be nice J > > > > > > > > Greetings > > > > Sascha > > > > --------------------------------------------------------------------- > 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