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

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
);

Abstract constructor.

  • 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

my $result = $data_reader->aggregator(
    readers => $readers,  # required
    offsets => $offsets,  # required
);

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

my $schema = $data_reader->get_schema();

Accessor for “schema” member var.

get_folder

my $folder = $data_reader->get_folder();

Accessor for “folder” member var.

get_snapshot

my $snapshot = $data_reader->get_snapshot();

Accessor for “snapshot” member var.

get_segments

my $arrayref = $data_reader->get_segments();

Accessor for “segments” member var.

get_segment

my $segment = $data_reader->get_segment();

Accessor for “segment” member var.

get_seg_tick

my $int = $data_reader->get_seg_tick();

Accessor for “seg_tick” member var.

INHERITANCE

Lucy::Index::DataReader isa Clownfish::Obj.