---
name: "Lucy::Search::Collector"
section: "3pm"
platform: "linux"
package: "liblucy-perl"
version: "0.3.3-7+b1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/Lucy::Search::Collector"
---

# Lucy::Search::Collector(3pm)

Process hits.

## NAME

Lucy::Search::Collector - Process hits.

## SYNOPSIS

```
    # Abstract base class.
```

## DESCRIPTION

A Collector decides what to do with the hits that a Matcher 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.

## CONSTRUCTORS

### *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.

## ABSTRACT METHODS

### collect(doc\_id)

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

- •

  **doc\_id** - A segment document id.

## INHERITANCE

Lucy::Search::Collector isa Lucy::Object::Obj.
