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

NAME

Plucene::SearchEngine::Index::Base - The definitely indexer base class

DESCRIPTION

This module is the base class from which both frontend and backend indiexing modules should inherit. It makes it easier for modules to create Plucene::Document objects through the intermediary of a nested hash.

METHODS

register_handler

    __PACKAGE__->register_handler($ext, $mime_type, $ext2, ...);

This registers the module to handle each given extension or MIME type. Base works out whether a parameter is a file extension or a MIME type.

handler_for

    $self->handler_for($filename, $mime_type)

This finds the relevant handler which has been registered for the givern mime type or file name extension.

new

This creates a new backend object, which knows about the handler, type and indexed date for the data.

add_data

    $self->add_data($field, $type, $data);

This adds data to a backend object. A backend object represents a Plucene::Document, a hash which will later be turned into a Plucene::Document object.

The $field element should be the field name that's stored in Plucene. The $type should be one of the methods that Plucene::Document::Field can cope with - Keyword, Text, UnIndexed, UnStored - or Date, which takes a Time::Piece object as its $data.

document

This turns the backend's hash into a Plucene::Document.