KinoSearch::Store::InvIndex - inverted index |
sub open_outstream { shift->abstract_death }
sub open_instream { shift->abstract_death }
sub list { shift->abstract_death }
sub file_exists { shift->abstract_death }
sub rename_file { shift->abstract_death }
sub delete_file { shift->abstract_death }
sub slurp_file { shift->abstract_death }
sub make_lock { shift->abstract_death }
sub run_while_locked { my ( $self, %args ) = @_; my $do_body = delete $args{do_body}; my $lock = $self->make_lock( %args, invindex => $self, ); my $locked; eval { $locked = $lock->obtain; $do_body->(); }; $lock->release if $lock->is_locked; confess $@ if $@; }
sub close { shift->abstract_death }
1;
__END__
KinoSearch::Store::InvIndex - inverted index
# abstract base class
An InvIndex is an abstract representation of an inverted index, KinoSearch's core data structure. The archetypal implementation of an invindex, FSInvIndex, is a single directory holding a collection of files. However, to allow alternative implementations such as RAMInvIndex, i/o and file manipulation are abstracted out rather than executed directly by KinoSearch's classes.
A ``file'' within an invindex might be a real file -- or it might be a ram file,
or eventually a database record, etc. Similarly,
$invindex->delete_file($filename)
might delete a file from the file
system, or a key-value pair from a hash, or something else.
Copyright 2005-2006 Marvin Humphrey
See KinoSearch version 0.15.
KinoSearch::Store::InvIndex - inverted index |