Lucy::Index::BackgroundMerger - Consolidate index segments in the background.
my $bg_merger = Lucy::Index::BackgroundMerger->new( index => '/path/to/index', ); $bg_merger->commit;
Adding documents to an index is usually fast, but every once in a while the index must be compacted and an update takes substantially longer to complete. See FastUpdates for how to use this class to control worst-case index update performance.
As with Indexer, see FileLocking if your index is on a shared volume.
my $bg_merger = Lucy::Index::BackgroundMerger->new( index => '/path/to/index', # required manager => $manager # default: created internally );
Open a new BackgroundMerger.
$background_merger->optimize();
Optimize the index for search-time performance. This may take a while, as it can involve rewriting large amounts of data.
$background_merger->commit();
Commit any changes made to the index. Until this is called, none of the changes made during an indexing session are permanent.
Calls prepare_commit() implicitly if it has not already been called.
$background_merger->prepare_commit();
Perform the expensive setup for commit() in advance, so that commit() completes quickly.
Towards the end of prepare_commit(), the BackgroundMerger attempts to re-acquire the write lock, which is then held until commit() finishes and releases it.
Lucy::Index::BackgroundMerger isa Clownfish::Obj.
Copyright © 2010-2015 The Apache Software Foundation, Licensed under the
Apache License, Version 2.0.
Apache Lucy, Lucy, Apache, the Apache feather logo, and the Apache Lucy project logo are trademarks of The
Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their
respective owners.