---
name: "Plucene::Index::SegmentsReader"
section: "3pm"
platform: "linux"
package: "libplucene-perl"
version: "1.25-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Plucene::Index::SegmentsReader"
---

# Plucene::Index::SegmentsReader(3pm)

reads the segments

## NAME

Plucene::Index::SegmentsReader - reads the segments

## SYNOPSIS

```
        my $segs_reader = Plucene::Index::SegmentsReader
                ->new($dir, Plucene::Index::SegmentReader @readers);
        my $num_docs = $segs_reader->num_docs;
        my $doc = $segs_reader->document($id);
        my $norms = $seg_reader->norms($field);
        my $doc_freq = $segs_reader->doc_freq($term);
        my Plucene::Index::SegmentsTermEnum $term_enum
                = $segs_reader->terms($term);
        my Plucene::Index::SegmentsTermDocs $term_docs
                = $segs_reader->term_docs;
        my Plucene::Index::SegmentsTermPositions $term_positions
                = $segs_reader->term_positions;

        if ($segs_reader->is_deleted($id)) { ... }
```

## DESCRIPTION

This is the segments reader class.

## METHODS

### new

```
        my $segs_reader = Plucene::Index::SegmentsReader
                ->new($dir, Plucene::Index::SegmentReader @readers);
```

This will create a new Plucene::Index::SegmentsReader object with the passed directory and Plucene::Index::SegmentReader objects.

### num\_docs

```
        my $num_docs = $segs_reader->num_docs;
```

This will return the number of documents in all the segments in the Reader.

### document

```
        my $doc = $segs_reader->document($id);
```

This will return the document at the passed document id.

### is\_deleted

```
        if ($segs_reader->is_deleted($id)) { ... }
```

### norms

```
        my $norms = $seg_reader->norms($field);
```

This returns the norms for the passed field.

### terms

```
        my Plucene::Index::SegmentsTermEnum $term_enum
                = $segs_reader->terms($term);
```

This will return the Plucene::Index::SegmentsTermEnum onject for the passed in term.

### doc\_freq

```
        my $doc_freq = $segs_reader->doc_freq($term);
```

This returns the number of documents containing the passed term.

### term\_docs

```
        my Plucene::Index::SegmentsTermDocs $term_docs
                = $segs_reader->term_docs;
```

This will return the Plucene::Index::SegmentsTermDocs object.

### term\_positions

```
        my Plucene::Index::SegmentsTermPositions $term_positions
                = $segs_reader->term_positions;
```

This will return the Plucene::Index::SegmentsTermPositions object.
