-
-
30 Sep 2014 01:32:42 UTC
- Distribution: Lucy
- Source (raw)
- Browse (raw)
- Changes
- Homepage
- How to Contribute
- Clone repository
- Issues
- Testers (28 / 33 / 3)
- Kwalitee
Bus factor: 1- License: apache_2_0
- Perl: v5.8.3
- Activity
24 month- Tools
- Download (1.06MB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
and 1 contributors- The Apache Lucy Project <dev at lucy dot apache dot org>
- Dependencies
- Clownfish
- and possibly others
- Reverse dependencies
- CPAN Testers List
- Dependency graph
NAME
Lucy::Plan::Architecture - Configure major components of an index.
SYNOPSIS
package MyArchitecture; use base qw( Lucy::Plan::Architecture ); use LucyX::Index::ZlibDocWriter; use LucyX::Index::ZlibDocReader; sub register_doc_writer { my ( $self, $seg_writer ) = @_; my $doc_writer = LucyX::Index::ZlibDocWriter->new( snapshot => $seg_writer->get_snapshot, segment => $seg_writer->get_segment, polyreader => $seg_writer->get_polyreader, ); $seg_writer->register( api => "Lucy::Index::DocReader", component => $doc_writer, ); $seg_writer->add_writer($doc_writer); } sub register_doc_reader { my ( $self, $seg_reader ) = @_; my $doc_reader = LucyX::Index::ZlibDocReader->new( schema => $seg_reader->get_schema, folder => $seg_reader->get_folder, segments => $seg_reader->get_segments, seg_tick => $seg_reader->get_seg_tick, snapshot => $seg_reader->get_snapshot, ); $seg_reader->register( api => 'Lucy::Index::DocReader', component => $doc_reader, ); } package MySchema; use base qw( Lucy::Plan::Schema ); sub architecture { shift; return MyArchitecture->new(@_); }
DESCRIPTION
By default, a Lucy index consists of several main parts: lexicon, postings, stored documents, deletions, and highlight data. The readers and writers for that data are spawned by Architecture. Each component operates at the segment level; Architecture's factory methods are used to build up SegWriter and SegReader.
CONSTRUCTORS
new()
my $arch = Lucy::Plan::Architecture->new;
Constructor. Takes no arguments.
METHODS
register_doc_writer(writer)
Spawn a DataWriter and register() it with the supplied SegWriter, adding it to the SegWriter's writer stack.
writer - A SegWriter.
register_doc_reader(reader)
Spawn a DocReader and register() it with the supplied SegReader.
reader - A SegReader.
INHERITANCE
Lucy::Plan::Architecture isa Clownfish::Obj.
Module Install Instructions
To install Lucy::Simple, copy and paste the appropriate command in to your terminal.
cpanm Lucy::Simple
perl -MCPAN -e shell install Lucy::Simple
For more information on module installation, please visit the detailed CPAN module installation guide.