Author image Marvin Humphrey
and 1 contributors


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


The KinoSearch code base has been assimilated by the Apache Lucy project. The "KinoSearch" namespace has been deprecated, but development continues under our new name at our new home:


    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 );


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.


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 all documents in the index that match query.


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


Return the number of deletions for a given segment.

  • seg_name - The name of the segment.


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


Copyright 2005-2011 Marvin Humphrey

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