Provided by: liblucy-perl_0.3.3-8_amd64 bug

NAME

       LucyX::Index::ByteBufDocWriter - Write a Doc as a fixed-width byte array.

SYNOPSIS

       Create an Architecture subclass which overrides register_doc_writer() and
       register_doc_reader():

           package MyArchitecture;
           use base qw( Lucy::Plan::Architecture );
           use LucyX::Index::ByteBufDocReader;
           use LucyX::Index::ByteBufDocWriter;

           sub register_doc_writer {
               my ( $self, $seg_writer ) = @_;
               my $doc_writer = LucyX::Index::ByteBufDocWriter->new(
                   width      => 16,
                   field      => 'value',
                   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::ByteBufDocReader->new(
                   width    => 16,
                   field    => 'value',
                   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 { MyArchitecture->new }

       Proceed as normal in your indexer app, making sure that every supplied document supplies a
       valid value for the field in question:

           $indexer->add_doc({
               title   => $title,
               content => $content,
               id      => $id,      # <---- Must meet spec.
           });

       Then, in your search app:

           my $searcher = Lucy::Search::IndexSearcher->new(
               index => '/path/to/index',
           );
           my $hits = $searcher->hits( query => $query );
           while ( my $id = $hits->next ) {
               my $real_doc = $external_document_source->fetch( $doc->{value} );
               ...
           }

DESCRIPTION

       This is a proof-of-concept class to demonstrate alternate implementations for fetching
       documents.  It is unsupported.