The Perl Advent Calendar needs more articles for 2022. Submit your idea today!

NAME

Dezi::Lucy - Dezi Apache Lucy backend

SYNOPSIS

 # create an index
 use Dezi::Lucy;
 my $app = Dezi::Lucy->new(
    invindex   => 'path/to/dezi.index',
    aggregator => 'fs',
    indexer    => 'lucy',
    config     => 'path/to/dezi.conf',
 );

 $app->run('path/to/files');

 # then search the index
 my $searcher = Dezi::Lucy::Searcher->new(
    invindex => 'path/to/dezi.index',
 );
 my $results = $searcher->search('my query')
 while ( my $result = $results->next ) {
    printf("%s : %s\n", $result->score, $result->uri);
 }

DESCRIPTION

STOP: Read the Dezi and Dezi::App documentation before you use this module.

Dezi::Lucy is an Apache Lucy based implementation of Dezi::App using the SWISH::3 bindings for libswish3.

Dezi::Lucy is to Apache Lucy what Solr or ElasticSearch is to Lucene.

See the Dezi::App docs for more information about the class hierarchy and history.

See the Swish3 development site at http://swish3.dezi.org/.

Why Not Use Lucy Directly?

You can use Lucy directly. Using Lucy via Dezi::Lucy offers a few advantages:

Aggregators and Filters

You get to use all of Dezi's Aggregators and SWISH::Filter support. So you can easily index all kinds of file formats (email, .txt, .html, .xml, .pdf, .doc, .xls, etc) without writing your own parser.

SWISH::3

SWISH::3 offers fast and robust XML and HTML parsers with an extensible configuration system, build on top of libxml2.

Simple now, complex later

You can index your content with Dezi::Lucy, then build a more complex searching application directly with Lucy.

AUTHOR

Peter Karman, <karpet@dezi.org>

BUGS

Please report any bugs or feature requests to bug-dezi-app at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Dezi-App. 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 Dezi::App

You can also look for information at:

COPYRIGHT AND LICENSE

Copyright 2018 by Peter Karman

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

SEE ALSO

http://dezi.org/, http://swish-e.org/, http://lucy.apache.org/