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.