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.