Lucy::Index::SegWriter - 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 PostingListWriter and DocWriter.
The sub-components of a SegWriter are determined by 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().
$seg_writer->register( api => $api # required component => $component # required );
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()).
writer
implements.my $obj = $seg_writer->fetch($api);
Retrieve a registered component.
$seg_writer->add_writer($writer);
Add a DataWriter to the SegWriter’s stack of writers.
$seg_writer->add_doc( doc => $doc # required boost => $boost # default: 1.0 );
Add a document to the segment.
Inverts doc
,
increments the Segment’s internal document id,
then calls Add_Inverted_Doc(),
feeding all sub-writers.
$seg_writer->add_segment( reader => $reader # required doc_map => $doc_map # default: undef );
Add content from an existing segment into the one currently being written.
$seg_writer->finish();
Complete the segment: close all streams, store metadata, etc.
Lucy::Index::SegWriter isa Lucy::Index::DataWriter isa Clownfish::Obj.
Copyright © 2010-2015 The Apache Software Foundation, Licensed under the
Apache License, Version 2.0.
Apache Lucy, Lucy, Apache, the Apache feather logo, and the Apache Lucy project logo are trademarks of The
Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their
respective owners.