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

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

Abstract base class for marking documents as deleted.

## NAME

Lucy::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

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"`.

- •

  **query** - A 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

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