# ***********************************************
# 
# !!!! DO NOT EDIT !!!!
# 
# This file was auto-generated by Build.PL.
# 
# ***********************************************
# 
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
# 
#     http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

=encoding utf8

=head1 NAME

Lucy::Index::DocReader - Retrieve stored documents.

=head1 SYNOPSIS

    my $doc_reader = $seg_reader->obtain("Lucy::Index::DocReader");
    my $doc        = $doc_reader->fetch_doc($doc_id);

=head1 DESCRIPTION

DocReader defines the interface by which documents (with all stored fields)
are retrieved from the index.  The default implementation returns
L<HitDoc|Lucy::Document::HitDoc> objects.

=head1 ABSTRACT METHODS

=head2 fetch_doc

    my $hit_doc = $doc_reader->fetch_doc($doc_id);

Retrieve the document identified by C<doc_id>.

Returns: a HitDoc.

=head1 METHODS

=head2 aggregator

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

Returns a DocReader which divvies up requests to its sub-readers
according to the offset range.

=over

=item *

B<readers> - An array of DocReaders.

=item *

B<offsets> - Doc id start offsets for each reader.

=back

=head1 INHERITANCE

Lucy::Index::DocReader isa L<Lucy::Index::DataReader> isa Clownfish::Obj.

=cut

