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


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


 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,


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


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


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:


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.


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


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


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.


Peter Karman, <karman at>


Please report any bugs or feature requests to bug-swish-prog-lucy at, or through the web interface at 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::Lucy

You can also look for information at:


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 for more information.