Lucy::Index::DeletionsWriter - Abstract base class for marking documents as deleted.
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.
$deletions_writer->delete_by_term( field => $field # required term => $term # required );
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.)
indexed
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).
field
term
$deletions_writer->delete_by_query($query);
Delete all documents in the index that match query.
query
query - A Query.
my $bool = $deletions_writer->updated();
Returns true if there are updates that need to be written.
my $int = $deletions_writer->seg_del_count($seg_name);
Return the number of deletions for a given segment.
seg_name - The name of the segment.
Lucy::Index::DeletionsWriter isa Lucy::Index::DataWriter isa Clownfish::Obj.
To install LucyX::Search::Filter, copy and paste the appropriate command in to your terminal.
cpanm
cpanm LucyX::Search::Filter
CPAN shell
perl -MCPAN -e shell install LucyX::Search::Filter
For more information on module installation, please visit the detailed CPAN module installation guide.