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

NAME

SWISH::Prog::Lucy::Indexer - Swish3 Apache Lucy indexer

SYNOPSIS

 use SWISH::Prog::Lucy::Indexer;
 my $indexer = SWISH::Prog::Lucy::Indexer->new(
    config               => SWISH::Prog::Config->new(),
    invindex             => SWISH::Prog::Lucy::InvIndex->new(),
    highlightable_fields => 0,
 );

DESCRIPTION

SWISH::Prog::Lucy::Indexer is an Apache Lucy based indexer class for Swish3.

METHODS

Only new and overridden methods are documented here. See the SWISH::Prog::Indexer documentation.

init

Implements basic object set up. Called internally by new(). If you override this method, be sure to call SUPER::init(@_) or the equivalent.

In addition to the attributes documented in SWISH::Prog::Indexer, this class implements the following attributes:

highlightable_fields

Value should be 0 or 1. Default is 0. Passed directly to the constructor for Lucy::Plan::FullTextField objects as the value for the highlightable option.

process( doc )

Overrides base method to parse the doc (a SWISH::Prog::Doc object) with the SWISH::3 parse_buffer() method.

finish

Calls commit() on the internal Lucy::Indexer object, writes the swish.xml header file and calls the superclass finish() method.

get_lucy

Returns the internal Lucy::Index::Indexer object.

abort

Sets the internal Lucy::Index::Indexer to undef, which should release any locks on the index. Also flags the SWISH::Prog::Lucy::Indexer object as stale.

AUTHOR

Peter Karman, <karman at cpan.org>

BUGS

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

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc SWISH::Prog::Lucy

You can also look for information at:

COPYRIGHT & LICENSE

Copyright 2009 Peter Karman.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.