NAME¶
Lucy::Index::BackgroundMerger - Consolidate index segments in the background.
SYNOPSIS¶
my $bg_merger = Lucy::Index::BackgroundMerger->new(
index => '/path/to/index',
);
$bg_merger->commit;
DESCRIPTION¶
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 Lucy::Docs::Cookbook::FastUpdates for how to use this class to control
worst-case index update performance.
As with Indexer, see Lucy::Docs::FileLocking if your index is on a shared
volume.
CONSTRUCTORS¶
new( [labeled params] )¶
my $bg_merger = Lucy::Index::BackgroundMerger->new(
index => '/path/to/index', # required
manager => $manager # default: created internally
);
Open a new BackgroundMerger.
- •
- index - Either a string filepath or a Folder.
- •
- manager - An IndexManager. If not supplied, an IndexManager with a
10-second write lock timeout will be created.
METHODS¶
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.
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.
optimize()¶
Optimize the index for search-time performance. This may take a while, as it can
involve rewriting large amounts of data.
INHERITANCE¶
Lucy::Index::BackgroundMerger isa Lucy::Object::Obj.