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

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

a collection of FieldInfo objects

## NAME

Plucene::Index::FieldInfos - a collection of FieldInfo objects

## SYNOPSIS

```
        my $fis = Plucene::Index::FieldInfos->new($dir_name);
        my $fis = Plucene::Index::FieldInfos->new($dir_name, $file);
        $fis->add(Plucene::Document $doc, $indexed);
        $fis->add(Plucene::Index::FieldInfos $other_fis, $indexed);
        $fis->add($name, $indexed);
        $fis->write($path);
        my @fields = $fis->fields;
        my $field_number = $fis->field_number($name);
        my   $field_info = $fis->field_info($name);
        my   $field_name = $fis->field_name($number);
        my   $num_fields = $fis->size;
```

## DESCRIPTION

This is a collection of field info objects, which happen to live in  the field infos file.

## METHODS

### new

```
        my $fis = Plucene::Index::FieldInfos->new($dir_name);
        my $fis = Plucene::Index::FieldInfos->new($dir_name, $file);
```

This will create a new Plucene::Index::FieldInfos object with the passed directory and optional filename.

### add

```
        $fis->add(Plucene::Document $doc, $indexed);
        $fis->add(Plucene::Index::FieldInfos $other_fis, $indexed);
        $fis->add($name, $indexed);
```

This will add the fields from a Plucene::Document or a  Plucene::Index::FieldsInfos to the field infos file.

It is also possible to pass the name of a field and have it added to the file.

### field\_number

```
        my $field_number = $fis->field_number($name);
```

This will return the field number of the field with `$name`. If there is  no match, then -1 is returned.

### fields

```
        my @fields = $fis->fields;
```

This will return all the fields.

### field\_info

```
        my $field_info = $fis->field_info($name);
```

This will return the field info for the field called `$name`.

### field\_name

```
        my $field_name = $fis->field_name($number);
```

This will return the field name for the field whose number is `$number`.

### size

```
        my $num_fields = $fis->size;
```

This returns the number of field info objects.

### write

```
        $fis->write($path);
```

This will write the field info objects to `$path`.
