You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@lucene.apache.org by Michael McCandless <lu...@mikemccandless.com> on 2016/12/02 11:27:07 UTC
Re: commit frequency guideline?
On Wed, Nov 30, 2016 at 9:37 AM, Rob Audenaerde
<ro...@gmail.com> wrote:
> Thanks for the quick reply!
>
>>What do you mean by "Lucene complain about too-many uncommitted docs"?
>
> --> good question, I was thoughtlessly echoing words from my colleague. I
> asked him and he said that it was about taking very long to commit and
> memory issues. So maybe this wasn't the best opening statement :)
Ahhh. Well, fsync (which Lucene invokes on multiple files when you
call commit) is inherently a costly (in wall clock time) operation
since the OS and IO system may have to move many bytes to the
underlying durable storage. But you should not hit memory issues.
> For the other part of the question: we need users to see the changed
> documents immediately, but I think we have this covered by using NRT Readers
> and the SearcherManager.
>
> Am I correct to conclude calling commit() is not necessary for finding
> recently changed documents?
That's correct: NRT readers give you fast visibility of changes, while
commit gives you durability. The two are entirely orthogonal in
Lucene, as long as you don't use a single thread to call commit and
call refresh.
> I think we can then switch to a time based commit() where we just call
> commit every 5 minutes, in effect losing a maximum of 5 minutes of work
> (which we can mitigate in another way)
> when the server somehow stops working.
Exactly.
> Thank you,
You're welcome!
Mike McCandless
http://blog.mikemccandless.com
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org