Author image Marvin Humphrey
and 1 contributors

NAME

KinoSearch::Index::DeletionsWriter - Abstract base class for marking documents as deleted.

SYNOPSIS

    my $polyreader  = $del_writer->get_polyreader;
    my $seg_readers = $polyreader->seg_readers;
    for my $seg_reader (@$seg_readers) {
        my $count = $del_writer->seg_del_count( $seg_reader->get_seg_name );
        ...
    }

DESCRIPTION

Abstract base class for marking documents as deleted.

Subclasses of DeletionsWriter provide a low-level mechanism for declaring a document deleted from an index.

Because files in an index are never modified, and because it is not practical to delete entire segments, a DeletionsWriter does not actually remove documents from the index. Instead, it communicates to a search-time companion DeletionsReader which documents are deleted in such a way that it can create a Matcher iterator.

Documents are truly deleted only when the segments which contain them are merged into new ones.

ABSTRACT METHODS

Delete_By_Term( [labeled params] )

Delete all documents in the index that index the supplied term.

  • field - The name of an indexed field. (If it is not spec'd as indexed, an error will occur.)

  • term - The term which identifies docs to be marked as deleted. If field is associated with an Analyzer, term will be processed automatically (so don't pre-process it yourself).

Delete_By_Query(query)

Delete all documents in the index that match query.

updated()

Returns true if there are updates that need to be written.

Seg_Del_Count(seg_name)

Return the number of deletions for a given segment.

  • seg_name - The name of the segment.

INHERITANCE

KinoSearch::Index::DeletionsWriter isa KinoSearch::Index::DataWriter isa KinoSearch::Obj.

COPYRIGHT AND LICENSE

Copyright 2005-2009 Marvin Humphrey

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