# Auto-generated file -- DO NOT EDIT!!!!! # 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. =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 iterates through, based on how the abstract 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(doc_id) Do something with a doc id. (For instance, keep track of the docs with the ten highest scores.) =over =item * B - A segment document id. =back =head1 INHERITANCE Lucy::Search::Collector isa L. =cut