lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shai Erera <ser...@gmail.com>
Subject Re: Auto commit when flush
Date Thu, 28 Jun 2012 06:53:29 GMT
You could extend IndexWriter to AutoCommitIndexWriter and override flush()
to call super.flush() then commit() (or simply just commit()). I haven't
tested it but I think it should work.

However, make sure you understand the implications of commit() -- it's
heavier than just flush. Perhaps you can avoid calling commit() frequently,
and use NRT to obtain a fresh IndexReader over the flushed yet uncommitted
data.

If you don't want to periodically reopen that reader, then you could check
after every addDocument if the IW RAM size has decreased (which indicates
flush occurred), or move to use flush-by-doc-count and reopen every
maxBufferedDocs.

Hope this helps.

Shai

On Thu, Jun 28, 2012 at 9:42 AM, Aditya <findbestopensource@gmail.com>wrote:

> Hi Ram,
>
> I guess IndexWriter.SetMaxBufferedDocs will help...
>
> Regards
> Aditya
> www.findbestopensource.com
>
>
> On Wed, Jun 27, 2012 at 11:25 AM, Ramprakash Ramamoorthy <
> youngestachiever@gmail.com> wrote:
>
> > Dear,
> >
> >        I am using Lucene for my log search tool. Is there a way I can
> > automatically perform a commit operation on my IndexWriter when a
> > particular set of docs is flushed from memory to the disk. My
> RamBufferSize
> > is 24Mb and MergeFactor is 10.
> >
> >        Or is calling commit in manually calculated frequent intervals
> > irrespective of the flushes the only way? I wish the autocommit  feature
> > was not deprecated.
> >
> > --
> > With Thanks and Regards,
> > Ramprakash Ramamoorthy,
> > Engineer Trainee,
> > Zoho Corporation.
> > +91 9626975420
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message