NAME¶
Lucy::Index::IndexManager - Policies governing index updating, locking, and file
deletion.
SYNOPSIS¶
use Sys::Hostname qw( hostname );
my $hostname = hostname() or die "Can't get unique hostname";
my $manager = Lucy::Index::IndexManager->new(
host => $hostname,
);
# Index time:
my $indexer = Lucy::Index::Indexer->new(
index => '/path/to/index',
manager => $manager,
);
# Search time:
my $reader = Lucy::Index::IndexReader->open(
index => '/path/to/index',
manager => $manager,
);
my $searcher = Lucy::Search::IndexSearcher->new( index => $reader );
DESCRIPTION¶
IndexManager is an advanced-use class for controlling index locking, updating,
merging, and deletion behaviors.
IndexManager and Architecture are complementary classes: Architecture is used to
define traits and behaviors which cannot change for the life of an index;
IndexManager is used for defining rules which may change from process to
process.
CONSTRUCTORS¶
new( [labeled params] )¶
my $manager = Lucy::Index::IndexManager->new(
host => $hostname, # default: ""
);
- •
- host - An identifier which should be unique per-machine.
- •
- lock_factory - A LockFactory.
METHODS¶
make_write_lock()¶
Create the Lock which controls access to modifying the logical content of the
index.
recycle( [labeled params] )¶
Return an array of SegReaders representing segments that should be consolidated.
Implementations must balance index-time churn against search-time degradation
due to segment proliferation. The default implementation prefers small
segments or segments with a high proportion of deletions.
- •
- reader - A PolyReader.
- •
- del_writer - A DeletionsWriter.
- •
- cutoff - A segment number which all returned SegReaders must
exceed.
- •
- optimize - A boolean indicating whether to spend extra time
optimizing the index for search-time performance.
set_folder(folder)¶
Setter for "folder" member. Typical clients (Indexer, IndexReader)
will use this method to install their own Folder instance.
get_folder()¶
Getter for "folder" member.
get_host()¶
Getter for "host" member.
set_write_lock_timeout(timeout)¶
Setter for write lock timeout. Default: 1000 milliseconds.
get_write_lock_timeout()¶
Getter for write lock timeout.
set_write_lock_interval(timeout)¶
Setter for write lock retry interval. Default: 100 milliseconds.
get_write_lock_interval()¶
Getter for write lock retry interval.
INHERITANCE¶
Lucy::Index::IndexManager isa Lucy::Object::Obj.