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__

Back to Top


NAME

KinoSearch::Store::InvIndex - inverted index

Back to Top


SYNOPSIS

    # abstract base class

Back to Top


DESCRIPTION

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.

Back to Top


SEE ALSO

KinoSearch::Docs::FileFormat

Back to Top


COPYRIGHT

Copyright 2005-2006 Marvin Humphrey

Back to Top


LICENSE, DISCLAIMER, BUGS, etc.

See KinoSearch version 0.15.

Back to Top

 KinoSearch::Store::InvIndex - inverted index