# Auto-generated file -- DO NOT EDIT!!!!!

=head1 NAME

KinoSearch::Index::SegWriter - Write one segment of an index.



=head1 DESCRIPTION

Write one segment of an index.

SegWriter is a conduit through which information fed to Indexer passes.  It
manages Segment and Inverter, invokes the Analyzer chain, and feeds low
level DataWriters such as PostingsWriter and DocWriter.  

The sub-components of a SegWriter are determined by
L<Architecture|KinoSearch::Architecture>.  DataWriter components which are
added to the stack of writers via add_writer() have add_inverted_doc()
invoked for each document supplied to SegWriter's add_doc().



=head1 METHODS

=head2 add_doc( I<[labeled params]> )

Add a document to the segment.  Inverts C<< doc >>, increments
the Segment's internal document id, then calls add_inverted_doc(),
feeding all sub-writers.

=head2 add_writer(writer)

Add a DataWriter to the SegWriter's stack of writers.

=head2 register( I<[labeled params]> )

Register a DataWriter component with the SegWriter.  (Note that
registration simply makes the writer available via fetch(), so you may
also want to call add_writer()).

=over

=item *

B<api> - The name of the DataWriter api which C<< writer >>
implements.

=item *

B<component> - A DataWriter.

=back

=head2 fetch(api)

Retrieve a registered component.

=over

=item *

B<api> - The name of the DataWriter api which the component
implements.

=back





=head1 INHERITANCE

KinoSearch::Index::SegWriter isa L<KinoSearch::Index::DataWriter> isa L<KinoSearch::Obj>.


=head1 COPYRIGHT AND LICENSE

Copyright 2005-2009 Marvin Humphrey

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

=cut