---
name: "Lucy::Index::PolyReader"
section: "3pm"
platform: "linux"
package: "liblucy-perl"
version: "0.3.3-7+b1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/Lucy::Index::PolyReader"
---

# Lucy::Index::PolyReader(3pm)

Multi-segment implementation of IndexReader.

## NAME

Lucy::Index::PolyReader - Multi-segment implementation of IndexReader.

## SYNOPSIS

```
    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";
    }
```

## DESCRIPTION

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.

## INHERITANCE

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