The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

SWISH::Prog::InvIndex - base class for Swish-e inverted indexes

SYNOPSIS

 use SWISH::Prog::InvIndex;
 my $index = SWISH::Prog::InvIndex->new(path => 'path/to/index');
 print $index;  # prints $index->path
 my $meta = $index->meta;  # $meta isa SWISH::Prog::InvIndex::Meta object
 

DESCRIPTION

A SWISH::Prog::InvIndex is a base class for defining different Swish-e inverted index formats.

METHODS

init

Implements the base SWISH::Prog::Class method.

path

Returns a Path::Class::Dir object representing the directory path to the index. The path is a directory which contains the various files that comprise the index.

meta

Returns a SWISH::Prog::InvIndex::Meta object with which you can query information about the index.

open

Open the invindex for reading/writing. Subclasses should implement this per their IR library specifics.

This base open() method will rmtree( path() ) if clobber() is true, and will mkpath() if path() does not exist. So SUPER::open() should do something sane at minimum.

open_ro

Open the invindex in read-only mode. This is typical when searching the invindex.

The default open_ro() method will simply call through to open().

close

Close the index. Subclasses should implement this per their IR library specifics.

clobber

Get/set the boolean indicating whether the index should overwrite any existing index with the same name. The default is true.

new_from_meta

Returns a new instance like new() does, blessed into the appropriate class indicated by the swish.xml meta header file.

AUTHOR

Peter Karman, <perl@peknet.com>

COPYRIGHT AND LICENSE

Copyright 2008 by Peter Karman

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.