I have a problem when adding a lot of records to the index. After about 1000 
records I get
this error: input 47 too high.

I use the Light merger with a background merger as described in the 
documentation.

$indxobj = Lucy::Index::Indexer->new(
        index  => 'lcyindx1',
        manager => LightMergeManager->new,
        );

......

$indxobj->add_doc( $doc  );


After 20 records I do a commit to prevent the process from locking thinks up.


The Light merger looks like:

package LightMergeManager;

use base qw( Lucy::Index::IndexManager );
    
sub recycle {
  my $self = shift;
  my $seg_readers = $self->SUPER::recycle(@_);
  @$seg_readers = grep { $_->doc_max < 10 } @$seg_readers;
  return $seg_readers;
}

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

----
Thomas den Braber


Reply via email to