---
name: "Lucy::Index::DataReader"
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::DataReader"
---

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

Abstract base class for reading index data.

## NAME

Lucy::Index::DataReader - Abstract base class for reading index data.

## SYNOPSIS

```
    # Abstract base class.
```

## DESCRIPTION

DataReader is the companion class to DataWriter.  Every index component will implement one of each.

## CONSTRUCTORS

### new( *\[labeled params\]* )

```
    my $reader = MyDataReader->new(
        schema   => $seg_reader->get_schema,      # default undef
        folder   => $seg_reader->get_folder,      # default undef
        snapshot => $seg_reader->get_snapshot,    # default undef
        segments => $seg_reader->get_segments,    # default undef
        seg_tick => $seg_reader->get_seg_tick,    # default -1
    );
```

- •

  **schema** - A Schema.

- •

  **folder** - A Folder.

- •

  **snapshot** - A Snapshot.

- •

  **segments** - An array of Segments.

- •

  **seg\_tick** - The array index of the Segment object within the `"segments"` array that this particular DataReader is assigned to, if any.  A value of -1 indicates that no Segment should be assigned.

## ABSTRACT METHODS

### aggregator( *\[labeled params\]* )

Create a reader which aggregates the output of several lower level readers.  Return undef if such a reader is not valid.

- •

  **readers** - An array of DataReaders.

- •

  **offsets** - Doc id start offsets for each reader.

## METHODS

### *get\_schema()*

Accessor for "schema" member var.

### *get\_folder()*

Accessor for "folder" member var.

### *get\_snapshot()*

Accessor for "snapshot" member var.

### *get\_segments()*

Accessor for "segments" member var.

### *get\_segment()*

Accessor for "segment" member var.

### *get\_seg\_tick()*

Accessor for "seg\_tick" member var.

## INHERITANCE

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