The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
# ***********************************************
# 
# !!!! 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::Search::Collector - Process hits.

=head1 SYNOPSIS

    # Abstract base class.

=head1 DESCRIPTION

A Collector decides what to do with the hits that a
L<Matcher|Lucy::Search::Matcher> iterates through, based on how the
abstract L<collect()|/collect> method is implemented.

Collectors operate on individual segments, but must operate within the
context of a larger collection.  Each time the collector moves to a new
segment, Set_Reader(), Set_Base() and Set_Matcher() will be called, and the
collector must take the updated information into account.

=head1 CONSTRUCTORS

=head2 new

    package MyCollector;
    use base qw( Lucy::Search::Collector );
    our %foo;
    sub new {
        my $self = shift->SUPER::new;
        my %args = @_;
        $foo{$$self} = $args{foo};
        return $self;
    }

Abstract constructor.  Takes no arguments.

=head1 ABSTRACT METHODS

=head2 collect

    $collector->collect($doc_id);

Do something with a doc id.  (For instance, keep track of the docs
with the ten highest scores.)

=over

=item *

B<doc_id> - A segment document id.

=back

=head1 INHERITANCE

Lucy::Search::Collector isa Clownfish::Obj.

=cut