On Mon, Mar 4, 2013 at 03:17 PM, Marvin Humphrey <[email protected]> wrote:
> 
> This is a bug, which the following patch should address:
> 
> --- a/core/Lucy/Index/IndexManager.c
> +++ b/core/Lucy/Index/IndexManager.c
> @@ -122,7 +122,7 @@ static uint32_t
>  S_fibonacci(uint32_t n) {
>      uint32_t result = 0;
>      if (n > 46) {
> -        THROW(ERR, "input %u32 too high", n);
> +        return UINT32_MAX;
>      }
>      else if (n < 2) {
>          result = n;

I am trying to understand this code and the bug. 
Does this mean that after 47 commits without an index merge this warning is 
shown ?
What was the original idea behind this exception handling ("input %u32 too 
high"), was it
for testing only ?


> > I do a commit every 20 records instead of after every record to increase the
> > performance.  Is this a good idea? or must I do a commit after every record
> > added
> 
> In general, you should batch up docs together, as that will result in less
> file churn and make indexing more efficient.  The only reason to commit more
> frequently is to make data available to searches sooner and meet
> application-specific requirements for responsiveness during near-real-time
> updates.
> 

This is exactly the case. I have several processes that can take a longer time 
to complete
and I don't want to lock-up high priority index changes that take only a short 
time
and that parts of the data become available sooner is a welcome side effect.

---
Thomas den Braber


Reply via email to