Lucy::Index::PolyReader(3) Multi-segment implementation of IndexReader.


my $polyreader = Lucy::Index::IndexReader->open(
index => '/path/to/index',
my $doc_reader = $polyreader->obtain("Lucy::Index::DocReader");
for my $doc_id ( 1 .. $polyreader->doc_max ) {
my $doc = $doc_reader->fetch_doc($doc_id);
print " $doc_id: $doc->{title}\n";


PolyReader conflates index data from multiple segments. For instance, if an index contains three segments with 10 documents each, PolyReader's doc_max() method will return 30.

Some of PolyReader's DataReader components may be less efficient or complete than the single-segment implementations accessed via SegReader.


Lucy::Index::PolyReader isa Lucy::Index::IndexReader isa Lucy::Index::DataReader isa Lucy::Object::Obj.