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

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

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

Implements the base SWISH::Prog::Class method.
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.
Returns a SWISH::Prog::InvIndex::Meta object with which you can query information about the index.
Returns Path::Class::File object pointing at the swish_header_file.
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 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 the index. Subclasses should implement this per their IR library specifics.
Get/set the boolean indicating whether the index should overwrite any existing index with the same name. The default is true.
Returns a new instance like new() does, blessed into the appropriate class indicated by the swish.xml meta header file.

Peter Karman, <perl@peknet.com>

Please report any bugs or feature requests to bug-swish-prog at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=SWISH-Prog. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

You can find documentation for this module with the perldoc command.
perldoc SWISH::Prog
You can also look for information at:

Copyright 2008-2009 by Peter Karman
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
