---
name: "Lucy::Index::PostingList"
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::Index::PostingList"
---

# Lucy::Index::PostingList(3pm)

Term-Document pairings.

## NAME

Lucy::Index::PostingList - Term-Document pairings.

## SYNOPSIS

```
    my $posting_list_reader
        = $seg_reader->obtain("Lucy::Index::PostingListReader");
    my $posting_list = $posting_list_reader->posting_list(
        field => 'content',
        term  => 'foo',
    );
    while ( my $doc_id = $posting_list->next ) {
        say "Matching doc id: $doc_id";
    }
```

## DESCRIPTION

PostingList is an iterator which supplies a list of document ids that match a given term.

See Lucy::Docs::IRTheory for definitions of "posting" and "posting list".

## ABSTRACT METHODS

### *next()*

Proceed to the next doc id.

Returns: A positive doc id, or 0 once the iterator is exhausted.

### *get\_doc\_id()*

Return the current doc id.  Valid only after a successful call to *next()* or *advance()* and must not be called otherwise.

### *get\_doc\_freq()*

Return the number of documents that the PostingList contains.  (This number will include any documents which have been marked as deleted but not yet purged.)

### seek(target)

Prepare the PostingList object to iterate over matches for documents that match `"target"`.

- •

  **target** - The term to match.  If undef, the iterator will be empty.

## METHODS

### advance(target)

Advance the iterator to the first doc id greater than or equal to `"target"`. The default implementation simply calls *next()* over and over, but subclasses have the option of doing something more efficient.

- •

  **target** - A positive doc id, which must be greater than the current doc id once the iterator has been initialized.

Returns: A positive doc id, or 0 once the iterator is exhausted.

## INHERITANCE

Lucy::Index::PostingList isa Lucy::Search::Matcher isa Lucy::Object::Obj.
