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