Plucene::Index::Writer - write an index.
my $writer = Plucene::Index::Writer->new($path, $analyser, $create); $writer->add_document($doc); $writer->add_indexes(@dirs); $writer->optimize; # called before close my $doc_count = $writer->doc_count; my $mergefactor = $writer->mergefactor; $writer->set_mergefactor($value);
This is the writer class.
If an index will not have more documents added for a while and optimal search performance is desired, then the
optimize method should be called before the index is closed.
my $writer = Plucene::Index::Writer->new($path, $analyser, $create);
This will create a new Plucene::Index::Writer object.
The third argument to the constructor determines whether a new index is created, or whether an existing index is opened for the addition of new documents.
my $mergefactor = $writer->mergefactor; $writer->set_mergefactor($value);
Get / set the mergefactor. It defaults to 5.
my $doc_count = $writer->doc_count;
Adds a document to the index. After the document has been added, a merge takes place if there are more than
$Plucene::Index::Writer::mergefactor segments in the index. This defaults to 10, but can be set to whatever value is optimal for your application.
Merges all segments together into a single segment, optimizing an index for search. This should be the last method called on an indexer, as it invalidates the writer object.
Merges all segments from an array of indexes into this index.
This may be used to parallelize batch indexing. A large document collection can be broken into sub-collections. Each sub-collection can be indexed in parallel, on a different thread, process or machine. The complete index can then be created by merging sub-collection indexes with this method.
After this completes, the index is optimized.