The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

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

SYNOPSIS

    my $posting_list_reader 
        = $seg_reader->obtain("KinoSearch::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 KinoSearch::Docs::IRTheory for definitions of "posting" and "posting list".

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.

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.

INHERITANCE

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

COPYRIGHT AND LICENSE

Copyright 2005-2010 Marvin Humphrey

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.